触发器的简单语法问题,可把我难住了,help!

VAFLS_Scott 2003-01-24 01:45:26
有Table_1和Table_2,Table_1有一个唯一的ID,Table_2有个FatherID对应于Table_1里的ID,表示其记录在Table_1中的父节点。在Table_1中某个ID改变时,要求Table_2中FatherID等于Table_1中未改变以前的ID的记录的FatherID作相应的改变,变为改变后的ID,怎么写啊?
以前没用过SQL Server 2000,语法不懂啊!求教!
...全文
37 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
VAFLS_Scott 2003-01-24
  • 打赏
  • 举报
回复
谢谢!知道ID最好不要改
可其他还有很多类似的东西,知道这个怎么写了,其他我也都知道了啊!:)
谢谢大家!:)
loveflea 2003-01-24
  • 打赏
  • 举报
回复
如果只是删除一条的话
create trigger Table_1_update on Table_1
for update
declare @oldid int,@newid int
select @oldid=id from deleted
select @newid=id from inserted
update Table_2 set FatherID=@newid where FatherID=@oldid
yelook 2003-01-24
  • 打赏
  • 举报
回复
如果只是删除一条的话
create trigger Table_1_update on Table_1
for update
declare @oldid int,@newid int
select @oldid=id from deleted
select @newid=id from deleted
update Table_2 set FatherID=@newid where FatherID=@oldid
wonder01 2003-01-24
  • 打赏
  • 举报
回复
select @id=id from inserted;
update table2 set FatherID=@id
from table2,deleted
where table2.FatherID=deleted.id;


pengdali 2003-01-24
  • 打赏
  • 举报
回复
CREATE TRIGGER 名 ON table_1
FOR UPDATE
AS
begin tran
delete table_2 from deleted where table_2.fatherid=deleted.id
insert table_2 select * from inserted
commit tran
CrazyFor 2003-01-24
  • 打赏
  • 举报
回复
还是那句话,ID最好不要修改。
CABO 2003-01-24
  • 打赏
  • 举报
回复
ID最好不要随意允许修改
如果你一次只是更新一个ID还好,如果更新多个,那这个问题基本上很难!
根本对应不起来呀
如果只是允许修改一个:
update TABLE2
set fatherid=(select id from inserted)
where fatherid=(select id from deleted)

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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