使排列不可能插入db2

时间:2013-03-16 08:22:10

标签: sql database insert db2

我很乐意帮助我解决一个小问题 假设我有一个名为table0的表,其中包含两列c和d 假设我做了一个插入,例如'insert into table0 values('paco',sono')

如何制作此表以便我不能执行'插入table0值('sono','paco')?
换句话说,假设此表已经在列c和d上定义了唯一键,那么如何进一步约束表不允许进行渗透?

我已经尝试'alter table table0 add constraint new unique(d,c)'但这不起作用

1 个答案:

答案 0 :(得分:2)

试试这个

CREATE TRIGGER table0 
NO CASCADE BEFORE INSERT ON table0 
REFERENCING NEW AS Newrow
FOR EACH ROW MODE DB2SQL
WHEN (Newrow.C IN (SELECT D FROM table0) OR Newrow.D IN (SELECT C FROM table0)) 
SIGNAL SQLSTATE '70001' ('Duplicate Exists');