0
、より多くのであれば、私はテーブルを作成しました:SQLのトリガーチェック年齢は、Oracleデータベースを使用した16
CREATE TABLE PLAYER (
PID number NOT NULL,
FIRSTNAME varchar2(100) NOT NULL,
SURNAME varchar2(100) NULL,
DATEOFBIRTH date NULL,
EXPERIENCE integer NULL,
CONSTRAINT PLAYER_PK PRIMARY KEY (PID)
) ;
私がチェックプレイヤーの年齢の場合はもっとして16 Iであるだろうトリガーをしたいと思いますこのトリガを持って、それは動作しません。私は
ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MM-YYYY';
任意の提案を使用して日付の書式を変更しているかもしれないので、
CREATE OR REPLACE TRIGGER t_DATE_BIRTH
BEFORE INSERT ON PLAYER
FOR EACH ROW
BEGIN
if (extract(year from (sysdate-:new.DATEOFBIRTH) year to month)<16) then
dbms_output.put_line ('Player must be above 16 years old ');
rollback;
end if
END;
/
?
トリガする必要がありますか?チェック制約は、これを実装するためのより簡単で迅速な方法です。 –