首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

更新表中的数据

2013-07-09 
更新表中的数据,在线等数据库中A表(ax,bx,cx,dx,ex)外部数据源是从xml生成的临时表B(ax,bx,cx,dx)要求:如

更新表中的数据,在线等
数据库中A表(ax,bx,cx,dx,ex)
外部数据源是从xml生成的临时表B(ax,bx,cx,dx)

要求:
如果B中的数据A中存在,就把A表中的ax,bx,cx,dx列更新为B表中的内容,ex列保持原来的值
如果B中的数据A中不存在,就像A表中添加B表的内容,ex列设为空值,
如果A中的数据B中不存在,在A中删除这条数据

当前能想到的就是使用游标,有没有比游标更好的解决方案!


红色是1需求,蓝色2需求,绿色3需求,每一步单个执行都没问题。
如果按照顺序执行,就是A全部删除,保留B,更新B中跟A不同的部分。
lz是这样吗》?
[解决办法]
如果你是MSSQL08及以上版本,建议你使用merge语句。具体看参考MSDN。如果不是,那么就要根据三种情况分别写三套代码来实现了。
[解决办法]
不需要游标。4楼正解了,使用update语句update ..set...from...join...on...where...已经可以解决问题了。。。

热点排行