Rownum的替代/获取Oracle数据库上的最后一个插入

时间:2015-04-02 13:41:48

标签: php oracle

我想在我的oracle数据库上显示最新的插入,我试图做的是保存最后一行的rownum,然后执行我的插入并最终获得插入"using select * from table where rownum >".$lastrow;

现在我明白了rownum是如何工作的,我知道我的查询不起作用。 有没有其他选择(在Oracle或PHP中)? 我的实际代码是:

$sql = "SELECT MAX (ROWNUM) from TABLE";
$query2 = $connexion -> prepare($sql);
$query2 -> execute();
$result = $query2 -> fetchAll (PDO::FETCH_ASSOC);
$arr = array_values($result[0]);
$lastrow = $arr[0];

//Insertion

for ($i=1;$i<count($puts);$i++){
    $line=explode(';',$puts[$i]);
    $connexion->exec("INSERT INTO TABLE (Col1,Col2,Col3,Col4,Col5) SELECT '".$line[0]."',$line[1],'".$line[2]."','".$line[3]."','".$line[4]."'FROM DUAL WHERE NOT EXISTS (select * from TABLE where Col2= '$line[2]')");
    $line=array();
}

//last inserts :

$sql2 = "SELECT * FROM TABLE where ROWNUM >".$lastrow;
$query3 = $connexion -> prepare($sql2);
$query3 -> execute();

0 个答案:

没有答案