-1

上限が60で下限が20の生年月日のトリガーを作成する方法について誰か教えてください。オラクル11gの運送会社のスタッフの年齢範囲に制約を課す任務に取り組んでいます。ありがとうございました

4

2 に答える 2

-1

ありがとう。やっとこれ使った

alter table staff
    add constraint minimum_age_ck check
         ((dateOfBirth >= add_months(dateOfBirth, -18)));

この

alter table staff
    add constraint maximum_age_ck check
         ((dateOfBirth <= add_months(date_of_birth, 60)));

値を挿入して、制約が有効かどうかを確認します。

一方、値を挿入することによる上記の回答のチェックは、それが有効ではないことを証明しました。私もこの ALTER TABLE STAFF ADD CONSTRAINT minimum_age_ck CHECK ( (months_between (sysdate, dateOfBirth) >= 240)); を使用してみました。CHECK ( (months_between (sysdate, dateOfBirth) >= 240)) * 3 行目のエラー: ORA-02436: CHECK 制約で日付またはシステム変数が間違って指定されています

sysdate は、months_ between の有効な使用可能な比較ではありませんか?

于 2013-04-15T12:08:48.977 に答える