ORA-00900:无效的SQL语句 - 无法确定是什么问题

时间:2014-05-18 15:03:07

标签: sql oracle insert-into ora-00900

我尝试执行以下操作:

IF NOT EXISTS (select * from IT_IMAGES where IT_CODE='8717163044612') 
  BEGIN 
     INSERT INTO IT_IMAGES (LARGE_IMG,SMALL_IMG,IT_CODE,LAN_CODE) VALUES ('7290011051310.jpg','7290011051310.jpg','8717163044612','1')
  END

但是我一直在收到ORA-00900:无效的SQL语句。你能帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

以下内容对您有用:

 INSERT INTO IT_IMAGES(LARGE_IMG, SMALL_IMG, IT_CODE, LAN_CODE)
    SELECT '7290011051310.jpg', '7290011051310.jpg', '8717163044612', '1'
    FROM dual
    WHERE NOT EXISTS (SELECT 1 FROM IT_IMAGES WHERE IT_CODE = '8717163044612');

在我考虑这个问题时,我没有使用if,除了Oracle中的begin / end语句。您可能需要一个编程块来使用if(MySQL确实需要这个)。不过上面应该解决这个问题。

Here是在SQL Fiddle中工作的一个例子。