2013-03-16 33 views
0

我很想帮我解决一个小问题。
假设我有一个名为table0的表,有两列c和d。
想我做的插入,如“插入table0值(”帕科“索诺‘)使排列无法插入db2

如何让我这个表,所以我不能做一个‘插入table0值(’索诺’,”帕科“)?
换句话说,假设这个表已经在列c和d上定义了一个唯一的键,那么你如何进一步限制表不允许permuations?

我已经尝试过“改变表table0添加约束新的独特的(d,C)”,但这不起作用

+0

提示:在插入停止写触发。 – Civa 2013-03-16 08:31:03

回答

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');