Chinaunix

标题: 如何利用触发器来同步删除另一个表的数据? [打印本页]

作者: sweiquan    时间: 2005-07-03 11:25
标题: 如何利用触发器来同步删除另一个表的数据?
在A表中删除一条记录的同时要求将B表中相关的记录也删除掉?不知如何跟踪在A表被删除的记录?

谢谢!
作者: joyceanne    时间: 2005-07-03 11:43
两个表存在什么联系?
这个联系就是你跟踪的关键
作者: sgnhjwg    时间: 2005-07-03 11:53
create trigger tri_del_table on table_name1
for delete as
if @@rowcount>1
begin
rollback tran
print \'must delete one at time\'
end else
begin
update table_name2 set table_name2.column_name=table_name2.column_name-(select table_name1.column from delected) where table_name2.id=(select table_name1.id from deleted)
end
作者: sgnhjwg    时间: 2005-07-03 11:59
在A表中删除一条记录的同时要求将B表中相关的记录也删除掉?
if @@rowcount >1
begin
rollback tran
end
else begin
delete from table_name2 where table_name2.id=(select table_name1.id from deleted)
end
如果一次进行多行的操作,应该建立多行操作的触发器,避免产生错误。
作者: sweiquan    时间: 2005-07-03 15:03
谢谢,参考楼上的例子写出来了。以前没有了解deleted




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2