社区
疑难问题
帖子详情
向高手求救:这道‘触发器’怎么设计?~~~~~~~~~~~UP者有分!
XXSingle
2003-10-16 06:09:36
表A:ID,Name
表B:ID,Num,Value
------------
表A与表B是一对多关系;
当表A的ID改变时,表B的ID也会自动跟着改变,
求助:这个触发器怎么设计?
...全文
47
8
打赏
收藏
向高手求救:这道‘触发器’怎么设计?~~~~~~~~~~~UP者有分!
表A:ID,Name 表B:ID,Num,Value ------------ 表A与表B是一对多关系; 当表A的ID改变时,表B的ID也会自动跟着改变, 求助:这个触发器怎么设计?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
welyngj
2003-10-17
打赏
举报
回复
使用 inserted 和 deleted 表
触发器语句中使用了两种特殊的表:deleted 表和 inserted 表。Microsoft® SQL Server™ 2000 自动创建和管理这些表。可以使用这两个临时的驻留内存的表测试某些数据修改的效果及设置触发器操作的条件;然而,不能直接对表中的数据进行更改。
inserted 和 deleted 表主要用于触发器中:
扩展表间引用完整性。
在以视图为基础的基表中插入或更新数据。
检查错误并基于错误采取行动。
找到数据修改前后表状态的差异,并基于此差异采取行动。
Deleted 表用于存储 DELETE 和 UPDATE 语句所影响的行的复本。在执行 DELETE 或 UPDATE 语句时,行从触发器表中删除,并传输到 deleted 表中。Deleted 表和触发器表通常没有相同的行。
Inserted 表用于存储 INSERT 和 UPDATE 语句所影响的行的副本。在一个插入或更新事务处理中,新建行被同时添加到 inserted 表和触发器表中。Inserted 表中的行是触发器表中新行的副本。
更新事务类似于在删除之后执行插入;首先旧行被复制到 deleted 表中,然后新行被复制到触发器表和 inserted 表中。
在设置触发器条件时,应当为引发触发器的操作恰当使用 inserted 和 deleted 表。虽然在测试 INSERT 时引用 deleted 表或在测试 DELETE 时引用 inserted 表不会引起任何错误,但是在这种情形下这些触发器测试表中不会包含任何行。
perfwell
2003-10-17
打赏
举报
回复
create trigger tri1 on 表A
for update
as
if update(ID)
begin
update 表B set ID=(select id from inserted) from deleted where 表B.id=deleted.id
end
inserted,deleted代表什么意思?是系统为了回滚写在系统的临时表,
XXSingle
2003-10-17
打赏
举报
回复
有点不明白:inserted,deleted代表什么意思?
XXSingle
2003-10-17
打赏
举报
回复
多谢sdhdy(大江东去...) 和pengdali(大力 V3.0)
两位高手啦...........
pengdali
2003-10-16
打赏
举报
回复
企业管理器--右键表--设计表--任意字段处按右键--关系--新建--设置与其他表的关联(即那些表的字段与本表的字段有关系,要被自动更新)--设置好后,选中"对 INSERT 和 UPDATE 强制关系"--并同时选中"级联更新相关的字段",如果要级联删除,再选中"级联删除相关的记录"--最后确定就可以了
pengdali
2003-10-16
打赏
举报
回复
但这些都不支持更新多条
pengdali
2003-10-16
打赏
举报
回复
create trigger tri1 on 表A
for update
as
if update(ID)
begin
update 表B set ID=(select id from inserted) where id=(select id from deleted)
end
sdhdy
2003-10-16
打赏
举报
回复
create trigger tri1 on 表A
for update
as
if update(ID)
begin
update 表B set ID=(select id from inserted) from deleted where 表B.id=deleted.id
end
数据库帖子收集
这样的数据列表在存储过程中应该怎么样选择得到? 请问造成SQL2000服务不能启动的原因有哪些? sql server中有無類似于if 的函數,即像這樣select if(cancel=1,'cancel','') from sales 这样怎么返回呀!!!!记录集的返回。。 谁能跟我说说期初库存怎么样的一个业务逻辑!都要处理哪些内容!需要每月进...
WEB开发文档2 总结
http://blog.donews.com/lvjiyong/archive/2006/06/29/931071.aspx 怎样将后台生成的在内存中的图象显示到客户端 Microsoft IE WebControls下载地址 如何在DATAGRID中使用JAVASCRIPT脚本控制 DataGrid中连接到下一页显示数据 下载中文名
MS-SQL Server 基础类 - SQL语句
CSDN论坛面试经验和面试题集锦
CSDN论坛面试经验和面试题集锦 http://blog.csdn.net/Mobidogs/article/details/1530972 来源: http://community.csdn.net/Expert/mianshi060906.htm [面试经验] 高薪是怎么跳出来的?(转载) (wjf4856) 最近几天招聘程序员的感想,另外附一份
CSDN论坛面试经验和面试题集锦(zz)
zz from http://community.csdn.net/Expert/mianshi060906.htm#CSDN论坛面试经验和面试题集锦 面试经验 综合/算
疑难问题
22,209
社区成员
121,730
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章