Sql 针对DML触发器中插入的deleted的DDL语句
我试图找出对表触发器中已删除和插入的逻辑表执行DDL语句的影响。我有:Sql 针对DML触发器中插入的deleted的DDL语句,sql,triggers,dml,Sql,Triggers,Dml,我试图找出对表触发器中已删除和插入的逻辑表执行DDL语句的影响。我有: CREATE TRIGGER [Trigger52] ON [dbo].[Table1] FOR DELETE, INSERT, UPDATE AS BEGIN create table inserted (c1 int) select * from inserted END 当它被触发时,我希望得到一个错误。相反,它似乎完全忽略CREATETABLE
CREATE TRIGGER [Trigger52]
ON [dbo].[Table1]
FOR DELETE, INSERT, UPDATE
AS
BEGIN
create table inserted (c1 int)
select * from inserted
END
当它被触发时,我希望得到一个错误。相反,它似乎完全忽略CREATETABLE语句并选择已插入的行
是否有描述此行为或解释的文档?触发器内部始终存在两个伪表:
inserted
和deleted
。见:
SQL Server会自动创建和
管理这些表。你可以用
这些是临时的,内存驻留的
用于测试某些
数据修改和设置
DML触发动作的条件。
不能直接修改中的数据
表或执行数据定义
服务器上的语言(DDL)操作
桌子
这是规定的。SQL Server提供了一个“插入的”表(假设这是SQL Server)。为什么要首先在触发器中创建一个表?去掉:
createtableinserted(c1int)