我试图找到对表触发器中已删除和插入的逻辑表执行DDL语句的影响。我有:
CREATE TRIGGER [Trigger52]
ON [dbo].[Table1]
FOR DELETE, INSERT, UPDATE
AS
BEGIN
create table inserted (c1 int)
select * from inserted
END
当它被触发时,我预计会出错。相反,它似乎完全忽略create table语句并选择已插入的行。
是否有描述此行为或解释的文档?
答案 0 :(得分:0)
内部触发器总是存在两个伪表:inserted
和deleted
。见Using the inserted and deleted Tables:
SQL Server自动创建和 管理这些表。您可以使用 这些临时的,记忆驻留的 用来测试某些效果的表格 数据修改和设置 DML触发器操作的条件。 您无法直接修改数据 表或执行数据定义 语言(DDL)操作 表。