2012-10-29 70 views
0

我有一個包含7列(f_name,l_name,sex,birth_date,matri_num,dept,sal)的表,我想添加一個約束來驗證3列(f_name,l_name,出生日期)至少有2人被填滿。多列約束

+0

你試過了什麼?另外,爲什麼?擁有名字和出生日期似乎沒有用處? –

+1

這是一個測試,我正在做更大的事情。我需要這樣一個約束。我知道這是檢查約束是這樣的,但我不知道是否有可能這樣的'和'或'或'在裏面。 – sully11

回答

2
ALTER TABLE <your_table> 
    ADD CONSTRAINT TWO_FILLED 
    CHECK(NVL2(F_NAME, 1, 0) + NVL2(L_NAME, 1, 0) + NVL2(BIRTH_DATE, 1, 0) >= 2); 
+0

謝謝你。這是我正在尋找的 – sully11