0

我尝试执行以下操作:

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: invalid SQL statement 。你能帮我解决这个问题吗?

4

1 回答 1

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');

想想看,我没有在 Oracle中使用ifexcept in begin/语句。end您可能需要一个编程块才能使用if(MySQL 确实需要这个)。不过,上面应该可以解决问题。

是它在 SQL Fiddle 中工作的示例。

于 2014-05-18T15:15:10.730 回答