sqlserver 2008 触发器,对象名 'dbo.inserted' 无效?解决方案
sqlserver 2008 触发器,对象名 'dbo.inserted' 无效???
建了一个触发器
if exists (select 1
from sysobjects
where id = object_id('T_accountingsubject')
and type = 'TR')
drop trigger T_accountingsubject
go
if exists(select 1 from inserted) and not exists(select 1 from deleted)
begin
update accountingsubjects set isend=0 where id in(select parentid from inserted)
end
go
执行时提示
消息 208,级别 16,状态 1,第 3 行
对象名 'dbo.inserted' 无效。
这是怎么回事,难道2008没了inserted 和deleted表?
------解决方案--------------------
建了一个触发器
if exists (select 1
from sysobjects
where id = object_id('T_accountingsubject')
and type = 'TR')
drop trigger T_accountingsubject
go
if exists(select 1 from inserted) and not exists(select 1 from deleted)
begin
update accountingsubjects set isend=0 where id in(select parentid from inserted)
end
go
执行时提示
消息 208,级别 16,状态 1,第 3 行
对象名 'dbo.inserted' 无效。
这是怎么回事,难道2008没了inserted 和deleted表?
------解决方案--------------------
- SQL code
if exists (select 1 from sysobjects where id = object_id('T_accountingsubject') and type = 'TR') drop trigger T_accountingsubject go create trigger T_accountingsubject on 表名 for/after/instead of insert as if exists(select 1 from inserted) and not exists(select 1 from deleted) begin update accountingsubjects set isend=0 where id in(select parentid from inserted) end go 更正如上