首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > IBM DB2 >

◆刚学习db2,这样的触发器如何写

2013-01-11 
◆刚学习db2,这样的触发器怎么写◆在删除 T_QUESTION 表的记录时 同时删除T_OPTION下的相关记录CREATE TRIGG

◆刚学习db2,这样的触发器怎么写◆
在删除 T_QUESTION 表的记录时 同时删除T_OPTION下的相关记录

CREATE TRIGGER DB2ADMIN.T_QUT_DEL_TR 
BEFORE  DELETE  ON DB2ADMIN.T_QUESTION  
FOR EACH ROW  MODE DB2SQL 
BEGIN ATOMIC
  DELETE FROM DB2ADMIN.T_OPTION WHERE QUTID = CURRENT QUTID;
END

[解决办法]
看来看去没什么错误啊 DB2ADMIN.T_OPTION.QUTID试试看 不过你可以用添加外键并指定cascade方式删除相关信息
[解决办法]
在前置(before)触发器不能对其他表进行DML操作(例如insert,update,delete),前置触发器必须用no cascade before,另外还有后置(after)触发器和instead of触发器

同步删除要用后置触发器

CREATE TRIGGER DB2ADMIN.T_QUT_DEL_TR 
AFTER  DELETE  ON DB2ADMIN.T_QUESTION  
REFERENCING OLD AS O_ROW 
FOR EACH ROW MODE DB2SQL 
  DELETE FROM DB2ADMIN.T_OPTION WHERE QUTID = O_ROW.QUTID;


热点排行