SQL SERVER数据库中表的关联问题?!急求答案!

liaopan77 2007-04-29 10:10:24
近有个项目需要新表和老表之间关联(Table1和Table2),不是整表关联,是列关联。比如,表Table1有列Column1,Column2,表Table2有列Column3和Column4,需要将列Column2和Column4关联,要能做到我在Table2中修改列Column4的数据,Table1中Column2自动更新和Column4中数据保持一致!
请问大大们这个怎么搞阿?我在SQL数据库里建立关联没效果阿呢!请帮忙啊,急用!跪求答案!
...全文
411 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
liaopan77 2007-04-30
  • 打赏
  • 举报
回复
我把 a.id=b.id改成a.Column2=b.Column4
没有语法错误了
但是我改表TABLE2的Column4列,TABLE1的Column2列没有变化啊!
liaopan77 2007-04-30
  • 打赏
  • 举报
回复
id 语法错误啊!
where a.id=b.id

这里是两表联系的关键,把id改成能传递联系的列就是了
id怎么改呢?
a.Column2=b.Column4?
NAVYVEIC 2007-04-30
  • 打赏
  • 举报
回复
用触发器写
create trigger trig_name on table2
for update
as
if update(Column4)
begin
update a set a.Column2=b.Column4
from table1 a,inserted b
where a.id=b.id
end
go
michael556cdj 2007-04-30
  • 打赏
  • 举报
回复
写个触发器
create trigger trig_name on table2
for update
as
if update(Column4)
begin
update a set a.Column2=b.Column4
from table1 a inner join inserted b on a.id=b.id
end
go
rookie_one 2007-04-30
  • 打赏
  • 举报
回复
where a.id=b.id

这里是两表联系的关键,把id改成能传递联系的列就是了
free_pop2k 2007-04-29
  • 打赏
  • 举报
回复
在表2上写个trigger
不过你要能根据表1的更新确定表2的对应数据行才行.
liaopan77 2007-04-29
  • 打赏
  • 举报
回复
表的设计表中
没有及联更新阿。。。。
触发器怎么写o?!
liaopan77 2007-04-29
  • 打赏
  • 举报
回复
谢谢楼上的
但是还是有点不明白阿!试了老是语法错误!
jyxhz 2007-04-29
  • 打赏
  • 举报
回复
写触发器
huangmingyan 2007-04-29
  • 打赏
  • 举报
回复
在企业管理器 设计表的对话框有个级联更新的 选项 你选择后 试试
rookie_one 2007-04-29
  • 打赏
  • 举报
回复
刚才笔误

create trigger trig_name on table2
for update
as
if update(Column4)
begin
update a set a.Column2=b.Column4
from table1 a,inserted b
where a.id=b.id
end
go
rookie_one 2007-04-29
  • 打赏
  • 举报
回复
create trigger trig_name on table2
for update
as
if update(Column4)
begin
update a set Column2=Column4
from table1 a,inserted b
where a.id=b.id
end
go
awuniao 2007-04-29
  • 打赏
  • 举报
回复
写INSERT UPDATE 和DELETE三个触发器就可以帮助你在插入、更新和删除TABLE1时TABLE2的数据会自动更新!
这里我发个例子,仅做参考!
create trigger buy_addnew
on dbo.buy --buy为商品采购表
for insert
as
update g set amount=(g.amount+i.amount) --新插入商品,商品数量自动增加
from goods as g inner join inserted as i
on g.goodsid=i.goodid
liaopan77 2007-04-29
  • 打赏
  • 举报
回复
大大们!快来帮忙阿!

34,590

社区成员

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

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