我试图实施一个解决方案,我找到了来自Michiel de Mare的here,用一个(最好是简单的语法意义上的)查询来更新多个记录。我试图学习的示例代码如下所示:Oracle:在重复密钥更新
INSERT INTO table (id,Col1,Col2) VALUES (1,1,1),(2,2,3),(3,9,3),(4,10,12) ON DUPLICATE KEY UPDATE Col1=VALUES(Col1),Col2=VALUES(Col2);
我正在使用Oracle(并且我还不熟悉SQL查询)。
基于一些动态内容,我连接了类似于上面的查询。它的长度可以根据我多少记录更新而变化,但是这是我生成一个查询的例子:
INSERT INTO my_table (question_id,ug) VALUES (30,0),(31,1) ON DUPLICATE KEY UPDATE ug=VALUES(ug)
上面查询得到这个错误:
Native message: ORA-00933: SQL command not properly ended
我处理具有运行查询的函数调用的内容管理系统;在这个框架内。我不认为这是恰当的,但我从来没有必要把';'但是,在查询结束时,我尝试了使用和不使用分号。
哪个查询生成错误消息? –
@Andrew,我编辑了这个问题。 – John
好的,但A1ex07已回答你的问题。 –