に基づいてトリガーを作成しようとしてい私は(8-18時間または日曜日以外すなわち、)営業時間外に行われた場合、挿入、更新および削除を妨げるトリガーを作成しようとしている曜日と時刻
ここに私のコードです:
CREATE OR REPLACE TRIGGER HOLIDAY
BEFORE DELETE OR INSERT OR UPDATE ON DEPT FOR EACH ROW
BEGIN
IF ((EXTRACT(DAY FROM SYSDATE)='SUNDAY') OR (EXTRACT(HOUR FROM LOCALTIMESTAMP) NOT BETWEEN 8 AND 18)) THEN
RAISE_APPLICATION_ERROR(-20001,'ILLEGAL OPERATION - OUT OF OFFICE HOURS OR HOLIDAY!');
END IF ;
END;
/
トリガーが作成されました。 今日は日曜日で、私は行を挿入しようとすると、アプリケーションエラーではなく、私が得るものである、調達されていません。
SQL> @/home/divya/A43.SQL
Trigger created.
SQL> DELETE FROM DEPT WHERE D_NO = 'D3' ;
DELETE FROM DEPT WHERE D_NO = 'D3'
*
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error: character to number conversion error
ORA-06512: at "DIVYA12345.HOLIDAY", line 2
ORA-04088: error during execution of trigger 'DIVYA12345.HOLIDAY'
エラーです正確に何を教えてくださいsomeeoneことはできますか?エラーを表示する - エラーは出力されません。どんな助けも高く評価されます。前もって感謝します。
さておき、ロジックがあまりにも修正する必要があります。このコードは、時間が8〜18であるため、18:45に挿入されます。 – mathguy
あなたはありがとう! – user8029928