【发布时间】:2017-08-08 18:43:13
【问题描述】:
我正在尝试将一些数据合并到一个 oracle 数据库中,但我无法让它工作。 我尝试了很多组合但没有成功。 这是我的简单代码
`
$sql ="MERGE INTO test IG";
$sql .=" USING (SELECT 'test' as rep,'test'as usr FROM dual) po";
$sql .=" on (ig.report= po.rep and ig.utente=po.usr)";
$sql .=" WHEN MATCHED THEN UPDATE SET ig.datamod = sysdate, ig.giorni_utilizzo = ig.giorni_utilizzo + 1 where ig.datamod > sysdate";
$sql .=" WHEN NOT MATCHED THEN INSERT (ig.report,ig.utente, ig.datains, ig.datamod, ig.giorni_utilizzo)";
$sql .=" VALUES (po.rep, po.usr, sysdate, sysdate, 1);";
#$sql ="insert into test IG (report, utente, datains, datamod, giorni_utilizzo) values('prova','prova',sysdate,sysdate,1)";
$stid = OCIParse($conn, $sql);
echo $sql;
$res = OCIExecute($stid);
if($res){
echo "OK";
} else {
echo "KO";
}`
连接不是问题,因为我尝试了插入并且它可以工作。
如果我在 gui 上运行查询,它可以工作,所以我认为代码是正确的。
我收到警告:ORA-00911:此行中的无效字符“$res = OCIExecute($stid);”
谁能告诉我哪里错了?? 谢谢
【问题讨论】: