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
がありますか?トリガーが正しく機能する必要があるのは何ですか?
見て、コラム46あなたのINSERT文では、VALUESキーワードが含まれていません。 INSERT INTOテーブルVALUES(値) – Olli
ありがとう、それは動作します。私はエラーを強調しなかったし、私のチュートリアルではVALUESキーワードを見逃していた。 – bansheemon