SQL.请问: 如何更新一个表中的纪录,其他查找表(look up)有链接的字段也被更新。

colthero 2003-10-11 04:56:59
SQL.请问: 如何更新一个表中的纪录,其他查找表(look up)有链接的字段也被更新。
最好是用存储过程,请各位指教。
...全文
48 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengdali 2003-10-11
  • 打赏
  • 举报
回复
用了 级联更新/删除 你一句代码都不需要写。
colthero 2003-10-11
  • 打赏
  • 举报
回复
Great!
zjcxc 元老 2003-10-11
  • 打赏
  • 举报
回复
如果要手工写的话,就用触发器:

create trigger t_update on tabl1
for update
as
update table2 set way=b.name from table2 a inner join tabl1 on a.id=b.id
go
zjcxc 元老 2003-10-11
  • 打赏
  • 举报
回复
SQL 2000中新增的功能,级联更新/删除.

你可以直接在企业管理器中设置:

企业管理器--右键表--设计表--任意字段处按右键--关系--新建--设置与其他表的关联(即那些表的字段与本表的字段有关系,要被自动更新)--设置好后,选中"对 INSERT 和 UPDATE 强制关系"--并同时选中"级联更新相关的字段",如果要级联删除,再选中"级联删除相关的记录"--最后确定就可以了.
colthero 2003-10-11
  • 打赏
  • 举报
回复
比如说我有两个这样的表,Table2的ID字段链接着Tab1的ID字段
tab1 table2
--------- ------------
ID Name ID way
1 'co' '1' 'aaa'
4 'ha' '1' 'bbb'
5 'ca' '1' 'ccc'
7 'yt' '2' 'iii'
====================================
我想写一个存储过程
更改 Tabl1 的 某个ID的值,并且和此ID有链接的ID值也随之改变
pengdali 2003-10-11
  • 打赏
  • 举报
回复
触发器举例:

CREATE TRIGGER 名2 ON dbo.tabMain
FOR update
AS
update db2..tabSlave set 列=aa.列 from inserted aa where aa.编号=db2..tabSlave.编号
colthero 2003-10-11
  • 打赏
  • 举报
回复
看不懂 高手解释一下。。
txlicenhe 2003-10-11
  • 打赏
  • 举报
回复
级联更新和级联删除:

alter table mylocation
add constraint fk_mylocation_myname foreign key(myname) references myname(name)
on update cascade on delete cascade


alter table 表2
add constraint fk_mylocation_myname foreign key(字段1,字段2)references 表1(字段1,字段2)
on update cascade on delete cascade

34,874

社区成员

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

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