2017-02-28 14 views
0

このトリガーを作成しましたが、2つの問題があります。 1つはPersonテーブルと2つのテーブルに積極的に移入しません。私のPartyテーブルに複数の行を入力すると、アクセスにエラーが発生し、Result of Subqueryが複数の行を返します。 誰かが私の問題を知っていますか?挿入トリガー(変数付き)

DELIMITER $$ 
Create TRIGGER Trigger1 

    AFTER 
    INSERT 
    ON Party 
    FOR EACH ROW 
    BEGIN 

declare partytypeid int; 
declare partyid int; 

set @partyid:= (select partyid from party); 
set @partytypeid:= (select partytypeid from party); 

     IF partytypeid = 1 
     THEN INSERT INTO Person 
     (PartyId) VALUES (PartyId); 
     END IF;  

    END$$ 
    delimiter ; 

答えて

0

変数を設定すると、挿入されたレコードの代わりにテーブル全体に対して選択が行われます。

DELIMITER $$ 

Create TRIGGER Trigger1 

AFTER INSERT ON Party FOR EACH ROW 
BEGIN 
    declare partytypeid int; 
    declare partyid int; 

    set @partyid:= new.partyid; 
    set @partytypeid:= new.partytypeid; 
    IF partytypeid = 1 THEN 
     INSERT INTO Person 
     (PartyId) VALUES (PartyId); 
    END IF;  

END$$ 
delimiter ;