WEB开发网
开发学院网页设计JavaScript 前触发器和后触发器简介(downmoon)tr 阅读

前触发器和后触发器简介(downmoon)tr

 2010-09-14 13:33:20 来源:WEB开发网   
核心提示: 为了在所有数据库中防止嵌套触发器调用(包括叠代调用),可以使用下面的语句:sp_configure `nested triggers',0前面以后触发器为例介绍了触发器的基本内容,前触发器和后触发器简介(downmoon)tr(3),下面再介绍一下前触发器的不同之处,要创建一个前触

为了在所有数据库中防止嵌套触发器调用(包括叠代调用),可以使用下面的语句:

sp_configure `nested triggers',0

前面以后触发器为例介绍了触发器的基本内容,下面再介绍一下前触发器的不同之处。要创建一个前触发器必须用Instead Of 显式声明,如下面的例子:

create Trigger TrackCustomerUpdates
On AppDta.dbo.Customer
Instead Of Update
As
Insert Into AppDta.dbo.CustUpdLog
(CustId,
Action,
UpdUser,
UpdDateTime)
Select CustId,
‘Update’,
Current_User,
Current_TimeStamp
From inserted

与后触发器不同的是:前触发器既可以在表又可以在视图上创建,但一条语句只能创建一个前触发器,因此,前触发器不存在激活顺序问题

触发器应用举例:从当前数据库服务器的Shop表Insert操作同步到另一台服务器的Shop。

CREATE TRIGGER Trigger_SynShopForInsert1
ON dbo.Shop
FOR INSERT
AS
 insert into OtherServer.dbo.shop
(
lngShopID,strShopCode,strName,strShopName,strDescription,lngIndex
)
select lngShopID,strShopCode,strName,strShopName,strDescription,lngIndex
from shop where lngShopID in (select lngshopid from inserted)

或者:

CREATE TRIGGER Trigger_SynShopForInsert2
ON dbo.Shop
FOR INSERT
AS
 insert into OtherServer.dbo.shop
(
lngShopID,strShopCode,strName,strShopName,strDescription,lngIndex
)
select lngShopID,strShopCode,strName,strShopName,strDescription,lngIndex
from inserted

上一页  1 2 3 

Tags:触发器 触发器 简介

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接