我很乐意帮助我解决一个小问题 假设我有一个名为table0的表,其中包含两列c和d 假设我做了一个插入,例如'insert into table0 values('paco',sono')
如何制作此表以便我不能执行'插入table0值('sono','paco')?
换句话说,假设此表已经在列c和d上定义了唯一键,那么如何进一步约束表不允许进行渗透?
我已经尝试'alter table table0 add constraint new unique(d,c)'但这不起作用
答案 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');