社区
MS-SQL Server
帖子详情
在触发器中update是先把记录delete,在inserted,那么在update中处理,是否还会触发insert和deleted
fly_miss
2003-09-12 10:55:00
我在写触发器中要update时,修改其他表的记录,在插入时也要修改其他表的记录,可是在update时,是把原来的记录delete,在插入吗,因为在update时用到了两个表:inserted和deleted
那么是否在update时,还会触发inserted和deleted???
...全文
161
5
打赏
收藏
在触发器中update是先把记录delete,在inserted,那么在update中处理,是否还会触发insert和deleted
我在写触发器中要update时,修改其他表的记录,在插入时也要修改其他表的记录,可是在update时,是把原来的记录delete,在插入吗,因为在update时用到了两个表:inserted和deleted 那么是否在update时,还会触发inserted和deleted???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fly_miss
2003-09-12
打赏
举报
回复
谢谢 结贴了
LiaoCheng
2003-09-12
打赏
举报
回复
不会,SQLSERVER自己会处理的!!
zjcxc
元老
2003-09-12
打赏
举报
回复
当然不会.
update的内部处理是删除后新增,但这个过程是内部处理的,不会反应给用户,反应给用户的只有一个update的触发操作.
sjw800614
2003-09-12
打赏
举报
回复
不能!
还用说呀!!!
sysmaster
2003-09-12
打赏
举报
回复
没试过,不过我想一定会触发,要不我UPDATE一个不合要求的数据进去,TIGER还有什么意义!
SQL Server数据库实验_存储过程与
触发
器
设计.docx
实验5.1 存储过程的建立与使用 一、实验目的 理解存储过程的概念、作用、建立和调用方法。 二、实验原理 使用CREATE PROC
ED
URE语句创建存储过程,ALTER PROC
ED
URE语句修改存储过程,DROP PROC
ED
URE语句删除存储过程,存储过程有不带参数的、有带输入参数的、有带输出参数(output)的,还可以有带返回值的。创建好的存储过程可以使用EXEC proc
ed
ure_name语句执行。 实验5.2
触发
器
的建立与使用 一、实验目的 理解
触发
器
的概念和作用;了解
触发
器
的分类及
触发
条件;掌握
触发
器
的定义及应用。 二、实验原理 1、 使用CREATE TRIGGER语句定义
触发
器
,ALTER TRIGGER语句修改
触发
器
,DROP TRIGGER语句删除
触发
器
。 2、
触发
器
分AFTER/FOR和INSTEAD OF两种类型:AFTER/FOR类型的
触发
器
是在相应的
触发
语句(
insert
、
delete
、
update
)执行完后被
触发
的。如果
触发
语句对应的表上有完整性约束,这些完整性约束必须不违背时,相应的
触发
语句才能执行,然后才能
触发
对应的AFTER/FOR类型的
触发
器
。INSTEAD OF类型的
触发
器
会在
触发
语句(
insert
、
delete
、
update
)执行之前被
触发
,并取代相应的
触发
语句。 3、 在表或视图上,每个
INSERT
、
UPDATE
或
DELETE
语句只能创建一个INSTEAD OF类型的
触发
器
,无法为有外键约束且指定为级联删除或级联修改的表创建
DELETE
或
UPDATE
语句上的INSTEAD OF 类型的
触发
器
。 SQL SERVER为每个
触发
器
都创建了两个临时表
INSERT
ED
表和
DELETE
D表,这两个表的逻辑结构与被
触发
器
作用的表一样,用户可以读取这两个表的内容,但不能对它们进行修改,
触发
器
执行完后,这两个表也会自动删除。当执行
INSERT
时,
INSERT
ED
表
中
保存要向表
中
插入的所有行;当执行
DELETE
时,
DELETE
D表
中
保存要从表
中
删除的所有行;当执行
UPDATE
时,修改前的行保存在
DELETE
D表
中
,修改后的行保存在
INSERT
ED
行
中
。
sql
触发
器
实例详细讲解
定义: 何为
触发
器
?在SQL Server里面也就是对某一个表的一定的操作,
触发
某种条件,从而执行的一段程序。
触发
器
是一个特殊的存储过程。 常见的
触发
器
有三种:分别应用于
Insert
,
Update
,
Delete
事件。 我为什么要使用
触发
器
?比如,这么两个表: Create Table Student( --学生表 StudentID int primary key, --学号 .... ) Create Table BorrowRecord( -学生借书
记录
表 BorrowRecord int identity(1,1), --流水号 StudentID int , --学号 BorrowDate datetime, --借出时间 ReturnDAte Datetime, --归还时间 ... ) 用到的功能有: 1.如果我更改了学生的学号,我希望他的借书
记录
仍然与这个学生相关(也就是同时更改借书
记录
表的学号); 2.如果该学生已经毕业,我希望删除他的学号的同时,也删除它的借书
记录
。 这时候可以用到
触发
器
。对于1,创建一个
Update
触发
器
: Create Trigger truStudent On Student --在Student表
中
创建
触发
器
for
Update
--为什么事件
触发
As --事件
触发
后所要做的事情 if
Update
(StudentID) begin
Update
BorrowRecord Set StudentID=i.StudentID From BorrowRecord br ,
Delete
d d ,
Insert
ed
i --
Delete
d和
Insert
ed
临时表 Where br.StudentID=d.StudentID end 理解
触发
器
里面的两个临时的表:
Delete
d ,
Insert
ed
。注意
Delete
d 与
Insert
ed
分别表示
触发
事件的表“旧的一条
记录
”和“新的一条
记录
”。 一个
Update
的过程可以看作为:生成新的
记录
到
Insert
ed
表,复制旧的
记录
到
Delete
d表,然后删除Student
记录
并写入新纪录。
Sql Server
触发
器
的使用
Sql Server为每个
触发
器
都创建了两个专用表:
Insert
ed
表和
Delete
d表。这两个表由系统来维护,它们存在于内存
中
而不是数据库
中
。这两个表的结构总是与被该
触发
器
作用的表的结构相同,
触发
器
执行完成后,与该
触发
器
相关的这两个表也被删除。 对表的操作
Insert
ed
逻辑表
Delete
d逻辑表 增加
记录
(
insert
) 存放增加的
记录
无 删除
记录
(
delete
) 无 存放被删除的
记录
修改
记录
(
update
) 存放更新后的
记录
存放更新前的
记录
三、for、after、instead of
触发
器
after:
触发
器
在
触发
它们的语句完成后执行
mysql 利用
触发
器
delete
_mysql使用
触发
器
,
delete
、
insert
、
update
触发
器
mysql5之后的版本才支持
触发
器
。想要某条语句在事件发生时自动执行,可使用
触发
器
。 例如下面场景:每当增加一条顾客数据时,都检查其号码格式
是否
正确。每订购一个产品时,都从库存
中
减去订购的数量无论何时删除一行,都在某个存档表
中
留一个副本支持
触发
器
的语句有:
delete
、
insert
、
update
,或位于begin和end语句之间的一组语句。创建
触发
器
创建
触发
器
时需要给出4条信息:唯一的
触发
器
名
触发
...
SQL--
触发
器
中
的
insert
ed
,
delete
d 表
SQL–
触发
器
中
的
insert
ed
,
delete
d 表 1.在
触发
器
中
有两个临时表,一个叫
insert
ed
,一个叫
delete
d 2.当执行
insert
操作时,在
insert
ed
中
存储着当前插入的
记录
, 3.在执行
delete
操作时,在
delete
d
中
存储着当前删除的
记录
, 4.当执行
update
时,在
insert
ed
中
存储着修改后的
记录
,在
delete
d
中
存储着修改前的
记录
。 5.没有
update
d这个临时表 6.
触发
器
结束后,
insert
ed
,
delete
d 表会被自动删除 ------实现目标
MS-SQL Server
34,587
社区成员
254,588
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章