2016-07-15 9 views
0

私は、テーブルの挿入後に別のテーブルの複数の行を挿入するトリガーを作成しようとしています。挿入トリガーエラー後

これが私のトリガー

CREATE OR REPLACE TRIGGER my_trigger 
AFTER INSERT 
    ON a_table 
    FOR EACH ROW 

DECLARE 
    cursor parts is 
    SELECT id, part FROM parts 
    WHERE :new.id = parts.id; 

BEGIN 
    FOR part in parts 
    LOOP 
    INSERT INTO parts_tb2 
    (id, 
    part, 
    name) 
    VALUES 
    (part.id, 
    part.part, 
    :new.NAME); 
    END LOOP; 
END my_trigger; 

あるしかし、私はPLS-00103: Encountered the symbol "end of file" excepted ;を取得するトリガを構築するとき。

私はどこですか?私はどこかのキーワードが欠けていますか?

答えて

0
CREATE OR REPLACE TRIGGER my_trigger 
AFTER INSERT ON a_table 
FOR EACH ROW 
    DECLARE 
    CURSOR c_parts IS 
     SELECT id, part FROM parts 
     WHERE :new.id = id; 
    BEGIN 
     FOR v_part in c_parts LOOP 
      INSERT INTO parts_tb2 (id, part, name) 
       VALUES (v_part.id, v_part.part, :new.NAME); 
     END LOOP; 
END my_trigger; 
+0

OPのコードで間違っていた問題の説明を追加できますか? – sstan

+0

私は何も修正しませんでした。彼のコードは大丈夫ですが、私は彼の問題はエンドレスやコード内の隠れたシンボルと関連していると思います。他の人の回答にコメントを書くことができないので、私はそれをもっと明瞭に書き直しました。 –