求有一定难度的SQL语法 已有两个表t1(xxx,aaa,bbb)和t2(aaa,bbb),均已有数据,现在我想把t2表记录aaa和bbb更新到t1中的aaa和bbb,不能破坏xxx列的值,不想使用游标cursor,敢问哪位大侠知道如何解决,越简洁越好! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 update t1 set(aaa,bbb)in (select aaa,bbb from t2 where 條件) update t1 set (aaa,bbb)=(select aaa,bbb from t2 where 條件) merge???insert /*+append*/ into table1 select * from table2 update t1 set(aaa, bbb)in (select aaa, bbb from t2 where 条件)条件没写清楚 老大,条件没写呀这怎么更新呀岂不是都更新了/?可以这样:update t1 set aaa = t2.aaa,bbb = t2.bbb from t2 where 条件可一定要慎重呀! 感谢beckhambobo(beckham和vrv0129() 和skyxj的方法。还请教beckhambobo(beckham和vrv0129() 和skyxj或其他人,表t1中XXX字段已有记录值xxx1,xxx2,xxx3,xxx1,xxx2,现在还希望两条XXX值均为xxx1的记录aaa,bbb值也相同,也就是说xxx相同的,aaa和bbb也要相同,这能办到吗,用一条语句? t1(xxx,aaa,bbb) t2(aaa,bbb)xxx1 null null aaa1 bbb1xxx2 null null aaa2 bbb2xxx1 null null aaa3 bbb3希望结果t2不变t1(xxx,aaa,bbb)xxx1,aaa1,bbb1xxx2,aaa2,bbb2xxx1,aaa1,bbba问题:1、update t1 set aaa = t2.aaa,bbb = t2.bbb from t2:pl/sql中运行有句法错误ORA-00933:SQL command not properly ended这种写法在MS SQL SERVER2000里可以。2、update t1 set (aaa,bbb)=(select aaa,bbb from t2 )执行提示ORA-01427:single-row subquery returns more than noe row update t1 set (aaa,bbb)=(select aaa,bbb from t2 ) 可能会有问题,因为子查询返回的可能是多条记录,就一条 语句当然无法更新,用cursor打开,可以一条条更新.但是速度 就会受影响。 建议: 先备份原始表,然后新建一个与原来相同的表做试验。批量 更新,批量提交。 奇怪问题 希望大家帮忙看看 Oracle 日志文件错误,是什么原因? 关于Oracle连接报错的问题!!! 用PLSQL连接服务器,是不是要先在本地先开启oracle的服务? 在线等 NVACHAR2 跟NUMBERR型的转换 怎么转 最好有相关的例子说明下 各位大大拜托了 存储过程读写磁盘的系统权限问题 公司急招系统集成实施高手与计费项目经理,跪请高手推荐与自荐,待遇优厚,顶者有分!! Oralce无法启动,Sys,System用户无法登陆 scott 历险记~~ 乱码,还是乱码!! 数据库打不开,求救!!急 急救oracle数据如何回复
insert /*+append*/ into table1
select * from table2
条件没写清楚
这怎么更新呀
岂不是都更新了/?可以这样:update t1 set aaa = t2.aaa,bbb = t2.bbb from t2 where 条件可一定要慎重呀!
xxx1 null null aaa1 bbb1
xxx2 null null aaa2 bbb2
xxx1 null null aaa3 bbb3
希望结果t2不变
t1(xxx,aaa,bbb)
xxx1,aaa1,bbb1
xxx2,aaa2,bbb2
xxx1,aaa1,bbba
问题:
1、update t1 set aaa = t2.aaa,bbb = t2.bbb from t2:pl/sql中运行有句法错误
ORA-00933:SQL command not properly ended
这种写法在MS SQL SERVER2000里可以。
2、update t1 set (aaa,bbb)=(select aaa,bbb from t2 )执行提示
ORA-01427:single-row subquery returns more than noe row
update t1 set (aaa,bbb)=(select aaa,bbb from t2 )
可能会有问题,因为子查询返回的可能是多条记录,就一条
语句当然无法更新,用cursor打开,可以一条条更新.但是速度
就会受影响。 建议: 先备份原始表,然后新建一个与原来相同的表做试验。批量
更新,批量提交。