2017-01-18 14 views
0

テーブルのいずれかにデータの更新、挿入、削除に関する情報を格納するテーブルを作成しました。テーブル内のアクションに関する情報を入力するトリガー

CREATE TABLE dept_changes (data DATE, action VARCHAR2(16)); 

今、私は、テーブルにデータを入力環境トリガーを作成したい:

CREATE OR REPLACE TRIGGER dept_changes_trig AFTER UPDATE OR INSERT OR DELETE ON departments 
DECLARE 
    action VARCHAR2(16); 
BEGIN 
    IF UPDATING THEN 
     action:='upd'; 
    END IF; 
    IF INSERTING THEN 
     action:='ins'; 
    END IF; 
    IF DELETING THEN 
     action:='del'; 
    END IF; 
    INSERT INTO DEPT_CHANGES (SYSDATE, action); 
END; 

私はライン12で2つのエラー(条件文を削除するEND IF)を得ました。

Error(12,5): PL/SQL: SQL Statement ignored 
Error(12,46): PL/SQL: ORA-00926: missing VALUES keyword 

私には分かりませんが、VALUESがありますか?トリガーが正しく機能する必要があるのは何ですか?

+2

見て、コラム46あなたのINSERT文では、VALUESキーワードが含まれていません。 INSERT INTOテーブルVALUES(値) – Olli

+0

ありがとう、それは動作します。私はエラーを強調しなかったし、私のチュートリアルではVALUESキーワードを見逃していた。 – bansheemon

答えて

2

キーワード

INSERT INTO DEPT_CHANGES VALUES(SYSDATE、アクション)を使用。 12行目で

Insert Examples

関連する問題