0

テーブルトリガー内で削除および挿入された論理テーブルに対してDDLステートメントを実行することの影響を見つけようとしています。私は持っている:

CREATE TRIGGER [Trigger52]
ON [dbo].[Table1]
FOR DELETE, INSERT, UPDATE 
AS 
BEGIN
     create table inserted (c1 int)
     select * from inserted                        
END

トリガーされると、エラーが発生することが予想されました。代わりに、create table ステートメントを完全に無視し、挿入された行を選択するようです。

この動作または説明を説明するドキュメントはありますか?

4

1 に答える 1

0

トリガー内には常に 2 つの疑似テーブルが存在します:inserteddeleted. 挿入および削除されたテーブルの使用を参照してください。

SQL Server は、これらのテーブルを自動的に作成および管理します。これらの一時的なメモリ常駐テーブルを使用して、特定のデータ変更の影響をテストし、DML トリガー アクションの条件を設定できます。テーブル内のデータを直接変更したり、テーブルに対してデータ定義言語 (DDL) 操作を実行したりすることはできません。

于 2009-12-21T20:55:55.057 に答える