明确调用触发器

时间:2012-02-03 04:17:15

标签: sql sql-server sql-server-2008

我们知道sql触发器是隐式调用的。 我只是想知道是否可以在sql server中显式调用触发器?

如果是,那么怎么样?

由于

1 个答案:

答案 0 :(得分:2)

我认为这取决于你明确调用触发器的含义。

您可以触发触发器,而不会对基础表进行任何数据更改:

create table T (ID int not null)
go
create trigger T_T on T after insert
as
    RAISERROR('Hello',10,1) WITH NOWAIT
go
insert into T(ID)
select 1 where 1=0

结果:

Hello

(0 row(s) affected)

话虽这么说,这有点像作弊,和@Mitch Wheat一样,我想知道你为什么试图这样做。如果“明确地调用触发器”是解决问题的一部分,那么a)这可能是错误的解决方案,并且b)如果我们知道问题是什么,我们可以建议更好的解决方案。