请教关于表更新的问题
要更新一表A中一列的部分数据,所有更新数据在另一表B中的一列中
其中A.ID和B.NEWID是一一对应的,但是A.ID是多于B.NEWID的,所以用UPDATE 语句不能实现,因为这样A中的不需要更新的数据就要被置为空了(用PL/SQL 提示的),有什么好的办法可以实现呢?
有劳各位了
谢谢
问题点数:20、回复次数:4Top
1 楼pengdali()回复于 2003-11-03 08:48:49 得分 10
PL/SQL:
update a set 一列=(select 一列 from b where newid=a.id) where id in (select newid from b)Top
2 楼pengdali()回复于 2003-11-03 08:49:46 得分 0
try:
update a set 一列=(select 一列 from b where newid=a.id where rownum=1) where id in (select newid from b)
Top
3 楼zjcxc(邹建)回复于 2003-11-03 08:56:53 得分 10
update a set 要更新的列=b.取数的列 from a inner join b on a.id=b.newidTop
4 楼volitationfang(镜子)回复于 2003-11-03 11:50:20 得分 0
ok了,就是把所需更新的列都先取出来,强,谢了 pengdali,不加rownum=1也可以,为什么要加呢,请赐教
zjcxc 那个语句不能执行,不知为何,提示说没有正常结束Top




