INSERT WITH NOT EXISITS

时间:2016-10-21 14:24:36

标签: sql insert exists interbase

我想将插入查询与“where not exists”

组合在一起

这是我的SQL:

INSERT INTO MYTABLE (ACT_ORDER, MNU_ACTION, ACT_STATUT, ACT_BEFORE, ACT_AFTER)
SELECT (1,'acOuvPOS', 'T', 'T', NULL)
WHERE NOT EXISTS (SELECT * FROM MYTABLE WHERE  (MNU_ACTION ='acOuvPOS' AND ACT_STATUT = 'T' AND ACT_BEFORE= 'T');

但是当我执行SQL时遇到了这个问题

  

令牌无效。动态SQL错误。 SQL错误代码= -104。令牌未知    - 第2行,char 8. ,.

我该如何解决这个问题 提前致谢

2 个答案:

答案 0 :(得分:0)

INSERT INTO MYTABLE(ACT_ORDER,MNU_ACTION,ACT_STATUT,ACT_BEFORE,ACT_AFTER) 选择1,' acOuvPOS',' T',' T',NULL 什么地方没有(选择*来自MYTABLE,其中MNU_ACTION =' acOuvPOS'和ACT_STATUT =' T'和ACT_BEFORE =' T')

答案 1 :(得分:0)

你可以简单地说:

IF(     不存在         (SELECT * FROM MYTABLE WHERE(MNU_ACTION =' acOuvPOS' AND ACT_STATUT =' T' AND ACT_BEFORE =' T') 开始     插入到MYTABLE中         (ACT_ORDER,MNU_ACTION,ACT_STATUT,ACT_BEFORE,ACT_AFTER)     (1,' acOuvPOS',' T',' T',NULL) END