解发器,FOR INSERT与INSTEAD OF?

internetcsdn 2004-06-13 08:27:48
解发器
for insert

INSTEAD OF

有那些区别啊?

联机言:

INSTEAD OF

指定执行触发器而不是执行触发 SQL 语句,从而替代触发语句的操作。

不知怎理解好,请举例解释一下.
...全文
157 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyingZFX 2004-06-15
  • 打赏
  • 举报
回复
楼上的两位大侠真牛呀!呵呵,说的对,学习,
skyboy0720 2004-06-15
  • 打赏
  • 举报
回复
楼主的错别字多呀!:)
internetcsdn 2004-06-14
  • 打赏
  • 举报
回复
哈哈,,,,,,,,,

谢了.......
zjcxc 元老 2004-06-14
  • 打赏
  • 举报
回复
AFTER
指定触发器只有在触发 SQL 语句中指定的所有操作都已成功执行后才激发。所有的引用级联操作和约束检查也必须成功完成后,才能执行此触发器。
如果仅指定 FOR 关键字,则 AFTER 是默认设置。


INSTEAD OF
指定执行触发器而不是执行触发 SQL 语句,从而替代触发语句的操作。


所以你的理解是对的
internetcsdn 2004-06-14
  • 打赏
  • 举报
回复
333333333333333333
internetcsdn 2004-06-13
  • 打赏
  • 举报
回复
测试一.
--------------
create table tb1 (id int identity(1,1), a varchar(10))
create trigger tri_tb1 on tb1 INSTEAD OF insert
as
begin
insert tb1 (a)
select a from inserted
end

insert tb1(a)
select 'a'

select * from tb1
/*
id a
-----------------
1 a
*/

-------------------------------------------------------------------
-------------------------------------------------------------------

测试一.
--------------
create table tb1 (id int identity(1,1), a varchar(10))
create trigger tri_tb1 on tb1 for insert
as
begin
insert tb1 (a)
select a from inserted
end

insert tb1(a)
select 'a'

select * from tb1
/*
id a
-----------------
1 a
2 a
*/

==========================================================
结论:FOR INSERT,插入动作完成后执行触发语句.
INDSTEAD OF INSERT,用触发语句来代替插入语句.

这样理触对不对啊?

internetcsdn 2004-06-13
  • 打赏
  • 举报
回复
晕......

是触发器.

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧