[英]Constraint check with variable values
我有一個名為TEST
的表:
PAR CHLD
---------------------- ----------------------
1 2
1 3
1 4
2 5
3 6
PAR
和CHLD
列構成一個復合主鍵。
我的要求是,如果要更新CHLD
列中的值,則該列應僅接受該列中的任何現有值。
這將失敗,因為值7不在CHLD
列中:
UPDATE TEST SET CHLD = 7 WHERE PAR = 3;
這應該成功,因為值4在CHLD
列中
UPDATE TEST SET CHLD = 4 WHERE PAR = 3;
請注意,我不具有固定值的檢查約束,因為我不知道表設計期間的值列表。
創建另一個表,例如CHILDREN,其中包含有效值(2,3,4,5,6)。 然后,將TEST表中的參照約束添加到CHILDREN。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.