私は2つのテーブルperson
とcustomer
を持っています。 person
から削除するとき、私はcustomer
から削除する:ここで「FOR」というキーワードの近くに「不適切な構文があります」というメッセージが表示されるのはなぜですか?
CREATE TRIGGER DELCUS
ON Person
AFTER DELETE
FOR EACH ROW
begin
DELETE FROM customer
WHERE customer.PersonID_Fk=Person.PersonId;
end
は私が得るエラーです:
Msg 156, Level 15, State 1, Procedure DELCUS, Line 5
Incorrect syntax near the keyword 'FOR'.
は、なぜそれが行ごとに読むことができませんか?
あなたはどのようなデータベースを使用していますか? – Atonewell
sql server 2008 – Nickool
SQL Serverには 'FOR EACH ROW 'はありません - トリガーは**文ごとに** **(そして** NOT ** **は行ごとに1回)呼び出され、**複数の行で呼び出される可能性があります*挿入、更新、または削除された行を保持する 'Inserted'および/または' Deleted'擬似テーブルに格納されます。トリガーは複数の行を同時に処理できる必要があります –