2013-03-16 32 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');