Person(SSN、State、Name)の関係で、タプルベースのチェックを追加します。PersonのStateがNYの場合、SSNの最初の3桁は「050」から「134」の間にある必要があります。(ヒント:SQLでLEFT関数を使用してください)。
CREATE TABLE Person (
SSN INT PRIMARY KEY,
State CHAR(50),
Name CHAR(100),
CHECK (
SELECT LEFT (SSN, 3) AS FirstThreeDigits, SSN FROM Person,
WHERE Person.State == ‘NY’) between '050' and between '134'
);
ここでのCHECK条件に満足していません。これが条件付きチェックを行う正しい方法であるかどうかはわかりません。誰かがこれを確認できますか?そうでない場合、条件付きチェックをどのように行いますか?
これが必要です:
if state == 'NY', perform CHECK
トリガーが必要ですか?新しい挿入/更新が発生した場合は、値を確認することを考えていました。しかし、質問はそれを求めていません。