
正文
oracle用a表更新b表,oracle从a表更新到b表
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Oracle A表更新B表
既然你说表A和表B中的B5字段是一致的,其实你的意思就是表A和表B是通过B5这个字段来关联的,那么语句可以这样写
update B set B1=A.a1,B2=A.a2,B3=A.a3,B4=A.a4 from A where A.B5=B.B5
试试吧,我测试过没问题
相关问答
Q1: oracle 将a表的查询结果更新到b表中 a、b表有关联
假设a表的量子字段是column1,column2,b表的两个字段也是conlumn1,conlumn2。sql如下:
select c3,c1,c2 from (select b.column1 c1,b.column2 c2,a.column1 c3 from b left join a on b.column1=a.column2 )
Q2: ORACLE将一个表的数据更新到另一个表
select max(va) from b where b.code=a.code 是最大值,其实这里加max应该是为了避免重复记录,比如a中code对应的b表中有两条记录code相同,那么就变成set a.va=两条记录,这样会出错的。如果你能确保b表中没有重复记录,那可以不加max
从需求来说,这是最简单的实现方式了。
其他方法,应该就等于在这个上面绕个圈子了。
Q3: oracle查询表A品名字段,更新表B品名字段
可以用一个函数做到,我举一个例子给你看。
这相当于你的A表
B1表
利用GROUP_CONCAT这个函数可以把我们查到的多条数据拼接,不过不要忘了加GROUP BY。
看如下查询语句的效果:
所以不难写出你的update语句
UPDATE score s set s.hobbys=(SELECT b.hobbys from(
SELECT a.num, GROUP_CONCAT(a.hobby) as hobbys FROM hobby a GROUP BY a.num
) as b WHERE b.num=s.num
)
执行完这个我们来看下原来的B表变成什么了
Ok了,执行成功!
希望能够帮到你,望采纳!
Q4: oracle将a表查询出来的数据更新到b表条件相等的更新不相等的不更新
给你一个sql语句的例子吧:
update B set b.name = (select A.name from A where A.id = B.aid)where exists(select 1 from A where A.id = B.aid)
Q5: oracle用一张表数据更新另一张数据
update table1 set num1 = num1 + (select nvl(num2,0) from table2 where table2.id = table1.id)
--你看看是不是你要的
关于oracle用a表更新b表和oracle从a表更新到b表的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。





