暂无图片
Oracle 如何一次更新两张以上(40张表)的表总某个字段
我来答
分享
Error
2021-12-23
Oracle 如何一次更新两张以上(40张表)的表总某个字段

怎么样一次更新多张表的指定字段值?

我来答
添加附件
收藏
分享
问题补充
6条回答
默认
最新
Error

请问,如何同时更新多张表中的多个字断值,最快。比如:20张表中每个表都需要更新其中三个字断的值。
基本(Update Table A, Table B, Table C, Table D, Table E, Table F
Set a.Id = 1, a.Name = 1, a.Age = 1, b.Id =1, b.Name =1, b.Age =1, c.Id =1, c.Name =1, c.Age =1, d.Id =1, d.Name =1, d.Age =1, e.Id =1, e.Name =1, e.Age =1, f.Id =1,
f.Name =1, f.Age =1
Where ......

请问有更好的方法吗?如果有30-50张表该如何处理?

暂无图片 评论
暂无图片 有用 0
打赏 0
DarkAthena

oracle不支持你这个写法,只能一张一张表update,你可以先用sql把更新命令批量拼接出来,再去执行拼接后的命令。
如果表之间不冲突的话,可以把这批sql分几个组,手动多开几个会话同时分别更新不同的组

暂无图片 评论
暂无图片 有用 0
打赏 0
Error
题主
2022-01-13
谢谢,用包的方法解决了
Thomas

这种语法(Update Table A, Table B, Table C, Table D, Table E, Table F

Set a.Id = 1, a.Name = 1是没有的。不过呢,可以用触发器实现该功能。
暂无图片 评论
暂无图片 有用 0
打赏 0
Error
题主
2022-01-13
谢谢,用包的方法解决了
Error

谢谢

暂无图片 评论
暂无图片 有用 0
打赏 0
刘晓华

Oracle没这种写法,可以通过触发器实现,不过我想知道怎么会有这样的需求,是不是可以上升到业务的层面,拟请逻辑,重新设计…

暂无图片 评论
暂无图片 有用 0
打赏 0
Error
题主
2022-01-13
谢谢,用包的方法解决了
chengang

30条 update语句 包在一个事务中 就算是一次性的了。

begin tran
update t1

update t30
commit

暂无图片 评论
暂无图片 有用 0
打赏 0
Error
题主
2022-01-13
谢谢,用包的方法解决了
回答交流
Markdown


请输入正文
提交
相关推荐
如何创建一个根据个人信息 删除 表中 个人信息。
回答 2
已采纳
这玩意不是很简单么?只要了解存储过程最基本的结构就知道写了createproceduretestdelete(itablenamevarchar2(50),iidvarchar2(20))islsql
并行度和cpu核数的问题
回答 1
1、每颗CPU2核,共4颗,逻辑核数就是8;  默认情况下cputcount值就等于CPU的逻辑核数; 2、cpucount表示的是当前Oracle实例(或PDB或CDB
rac开机后其中一个节点无法自动正常启动,请高手帮忙解答一下。
回答 7
问题未解决有没有人看一下。
oracle 11g rac 升级19c报错
回答 5
我最近也在弄找个找个补丁找半天。。。
oracle 19c 用户权限分配
回答 2
已采纳
首先常规的授权:CONNECT,RESOURCE,包含如下权限:SELECTFROMDBASYSPRIVSWHEREGRANTEEIN(‘CONNECT’,‘RESOURCE’)ORDERBY1,2;
ORA-00856 修改pga报错不能超过pga_aggregate_limit50%
回答 3
已采纳
12c新特性,使用PGAAGGREGATELIMIT参数来限制Oracle实例PGA使用内存的上限。后台进程ckpt每三秒检查一次PGA使用的内存总量,如果超过限制就采取终止会话的方式来降低PGA内存
oracle 19c 如何把cdb模式中某一个pdb恢复成单实例
回答 1
在源数据库中,使用expdp导出需要恢复的PDB。在目标数据库中,使用impdp导入PDB。在目标数据库中,使用dbmspdb.duplicatefrombackup()函数创建一个新的PDB。
oracle 19.19 rac生成awr快照报错
回答 2
上传附件:zzgl1m001102695i526595.trc
19C AUTOUPGRADE问题
回答 3
配得上,但是我看了ANALYZE的日志,说是12C下的旧INSTANCEnotavailable,折腾了多次都报这个错(明明在12C环境下SQLPLUS旧INSTANCE正常啊)。现在已经放弃AUTO
求助一下各位,想获取alert日志文件中这个2022-07-07T00:00:28.689537+08:00这个时间段以下所有的内容,怎么做
回答 3
这是我写的监控alert日志中每天日志内容中的ORA信息shell片段,供你参考:exportDATEDAYTODAYdatedtoday"%Y%m%d"exportDATEDATTOMORROWda
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~