1
中使用where子句我有一個情況,其中一個字段可以爲NULL,而另一個字段爲特定值時,其他字段應該爲非NULL。在檢查
"Type" VARCHAR2(30) NOT NULL,
BestandLocatie VARCHAR2(150) NULL,
我做了兩個約束,第一個確保只能輸入「類型」中的某些值。
CONSTRAINT TypeCheck
CHECK ("Type" IN ('Tab', 'Bass Tab', 'Chords', 'Power Tab', 'Guitar Pro',
'Video Lesson', 'Drum Tab', 'Ukulele Chords')),
其他約束(這給出了一個錯誤,缺少右括號)應確保BestandLocatie是NOT NULL,當「類型」是某些類型:
CONSTRAINT BestandLocatieCheck
CHECK (BestandLocatie IS NOT NULL WHERE ("Type" IN ('Power Tab', 'Guitar Pro'
'Video Lesson')))
當我搜索了Where子句我只在select語句中找到它的例子。這是否意味着我不能在這裏使用它,還有其他的方法嗎?或者我必須在最終應用程序中檢查它,還是隻能在PLSQL中完成?
謝謝,我刪除了兩個約束並提出一個新問題: 'IN(約束BestandEnTypeCheck CHECK(( 「類型」' 電源選項卡」, '吉他臨', '視頻課程' )AND BestandLocatie is not NULL)或(「Type」IN('Tab', 'Bass Tab','Chords','Drum Tab','Ukulele Chords')))'現在它應該可以工作,非常類似如果我很快看到它,也是你的迴應。 – Politiepet 2014-10-19 13:31:41