別のフィールドが特定の値である場合にフィールドが NULL になる可能性があり、それ以外の場合は NOT NULL である必要があるという状況があります。
"Type" VARCHAR2(30) NOT NULL,
BestandLocatie VARCHAR2(150) NULL,
2 つの制約を作成しました。1 つ目は、「Type」に特定の値のみを入力できるようにするものです。
CONSTRAINT TypeCheck
CHECK ("Type" IN ('Tab', 'Bass Tab', 'Chords', 'Power Tab', 'Guitar Pro',
'Video Lesson', 'Drum Tab', 'Ukulele Chords')),
もう 1 つの制約 (エラーが発生し、右括弧が欠落している) は、"Type" が特定の型の場合、BestandLocatie が NOT NULL であることを確認する必要があります。
CONSTRAINT BestandLocatieCheck
CHECK (BestandLocatie IS NOT NULL WHERE ("Type" IN ('Power Tab', 'Guitar Pro'
'Video Lesson')))
Where 句を検索したところ、select ステートメントでしか例が見つかりませんでした。これは、ここでは使用できないことを意味しますか、これを行う他の方法はありますか、それとも最終アプリケーションでこれを確認する必要がありますか、それとも PLSQL でのみ行うことができますか?