Sql DB2存在触发器

Sql DB2存在触发器,sql,database,triggers,db2,Sql,Database,Triggers,Db2,我使用DB2并编写触发器计数版本,但无法将其转换为现有版本。由于性能原因,我将使用现有版本。它是触发器后的插入 它起作用了 IF (SELECT COUNT(*) FROM table where field=NEW.field ) = 0 THEN --------- END IF;-- 它不起作用 IF NOT EXISTS (SELECT * FROM table where field=NEW.field ) THEN --------------

我使用DB2并编写触发器计数版本,但无法将其转换为现有版本。由于性能原因,我将使用现有版本。它是触发器后的插入

它起作用了

   IF  (SELECT COUNT(*) FROM table where field=NEW.field ) = 0 THEN
    ---------
   END IF;--
它不起作用

   IF NOT EXISTS (SELECT * FROM table where field=NEW.field )  THEN
    ---------------------
    END IF;--
试试这个:,如图所示

开始原子化 如果不存在,请从表中选择*,其中field=NEW.field 然后 在ABC.table1字段1中插入值1100200;->这是我用来解释的一个虚拟插入 如果结束; 结束

此语法用于运行此代码

db2-td@-f mysql.db2

您需要告诉DB2您使用的终止符

-设置终止符$ 这将使终结者$ 要动态更改CLP中的终止符,以下语法将对其进行设置:
-设置终结者

谢谢您的回答,但您的解决方案与我的相同。