
展开全部
其实MS-SQL只有两种触发器
for
触发器,执行后触发器
也可以写成:for
after
只不过after可写可不写,一般省略掉了
在用户执行数据操作之后,触发器触发,执行触发器代码
如:
表1(ID,NAME)
表2(ID,NAME)
当用户插入表1数据后,表2也被插入相同的数据:
代码如下:
create
trigger
Mytr
on
表1
for
insert
as
insert
into
表2
select
*
from
inserted
还有instead
of
执行前触发器
在用户执行数据操作数据之前,触发器触发,执行触发器代码,不执行用户的操作
根据这个特性,instead
of
触发器可以为视图添加数据操作的功能
如:
表:
表1(ID,NAME)
表2(ID,DATE)
视图
:
DATA(表1.ID,表1.NAME,表2.DATE)
为DATA视图添加insert操作:代码如下
create
triger
trgName
on
DATA
instead
of
insert
as
begin
insert
into
表1
select
ID,NAME
from
inserted
insert
into
表2
select
ID,DATE
from
inserted
end
for
触发器,执行后触发器
也可以写成:for
after
只不过after可写可不写,一般省略掉了
在用户执行数据操作之后,触发器触发,执行触发器代码
如:
表1(ID,NAME)
表2(ID,NAME)
当用户插入表1数据后,表2也被插入相同的数据:
代码如下:
create
trigger
Mytr
on
表1
for
insert
as
insert
into
表2
select
*
from
inserted
还有instead
of
执行前触发器
在用户执行数据操作数据之前,触发器触发,执行触发器代码,不执行用户的操作
根据这个特性,instead
of
触发器可以为视图添加数据操作的功能
如:
表:
表1(ID,NAME)
表2(ID,DATE)
视图
:
DATA(表1.ID,表1.NAME,表2.DATE)
为DATA视图添加insert操作:代码如下
create
triger
trgName
on
DATA
instead
of
insert
as
begin
insert
into
表1
select
ID,NAME
from
inserted
insert
into
表2
select
ID,DATE
from
inserted
end
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询