0
私はORACLEを学習していますが、このトリガーを作成しようとするとコンパイルエラーが発生する理由を理解できませんでした。何か助けてくれてありがとう!ORACLEでコンパイルエラーで作成されたトリガー
CREATE OR REPLACE TRIGGER TR_HISTORY
BEFORE INSERT ON HISTORY
FOR EACH ROW
DECLARE name_d varchar2(50), breed_d varchar2(50), area_d varchar2(50)
BEGIN
SELECT NAME INTO name_d FROM ANIMALS A WHERE A.ID = :NEW.ID;
SELECT BREED INTO breed_d FROM ANIMALS A WHERE A.ID = :NEW.ID;
SELECT AREA INTO area_d FROM STORE S WHERE S.STORE_ID = :NEW.STORE_ID;
IF (:NEW.DONE ='T')
THEN
:NEW.MSG = 'Hi , your animal ' || name_d || ' breed: ' || breed_d || 'is
at ' || area_d || '.';
ELSE
UPDATE :NEW.MSG = 'Not finished';
END IF;
END;
/
トリガーには多くの問題があるようです。表示されているエラーメッセージを表示します。また、トリガーで使用したすべての列は表で使用できますか? –
はい、私は変数を使用せず、IF文を単独で実行してもまだエラーが表示されているようです:/ –
私の答えを確認し、INSERT操作中に正しくコンパイルして実行するかどうか教えてください私はあなたのテーブルデータに関する他の問題を知りません。 –