日期:2014-05-18  浏览次数:20401 次

sql 2000 2个表之间更新
有表A和表B,有3个相同的字段 x,y,z,如何通过判断其中一个字段的相同值去更新其他2个字段,(商品信息的,比如x是存商品条码的,y,z是存入进货价格与销售价格,如何通过相同条码更新表B里的y,x到表A)

------解决方案--------------------
SQL code
update 
  a
set
  y=b.y,z=b.z
from
  a库.dbo.a a,b库.dbo.b b
where
  a.x=b.x

------解决方案--------------------
如果是手动更新用2楼那位大大的方法就行,如果是自动更新,可以在b表上面建立触发器,当B的X、Y发生改变就同事更新A的X、Y
------解决方案--------------------
补充:
如果不同的服务器 请用链接
同一个数据库 a库..表 也可以读
------解决方案--------------------
探讨

SQL code
update
a
set
y=b.y,z=b.z
from
a库.dbo.a a,b库.dbo.b b
where
a.x=b.x

------解决方案--------------------
如果数据实时性要求不高,触发器就可以了!
------解决方案--------------------
SQL code
--有表A和表B,有3个相同的字段 x,y,z,如何通过判断其中一个字段的相同值去更新其他2个字段,(商品信息的,比如x是存商品条码的,y,z是存入进货价格与销售价格,如何通过相同条码更新表B里的y,x到表A)

用触发器.
Create Trigger Tr1 On a
for Update
as 
Update b
    set y=a.y
        ,z=a.z
   from b
      inner join a on b.x=a.x
go