如何批量修改oracle数据库中某一个表中的某一列数据

如何批量修改oracle数据库中某一个表中的某一列数据,第1张

最好的方法是批量修改,即每次修改5000条(一次修改不要超过一万条,否则影响性能) 虽然在11g中,我们也可以选择使用merge命令,但你的这种情况最好先修改一部分然后看看影响,毕竟在生产环境作这样的 *** 作风险很大。如果是误 *** 作,最好还是请DBA来恢复,虽然这样做会被挨骂,但总比错上加错,最后连挨骂的机会都没有要好得多。如果对这些修改真的有信心,而只是从性能考虑,那可以用下面的方法(pk_col 是表的主键

1、构建临时表进行主键关联更新

需求:T1表有千万级别的数据量,需要更新这个表的字段a,b满足2个条件的记录。

做法:一般业务会将条件通过excel表格提供给开发,那么开发首先需要将这个excel表格的内容插入到临时表T2中,考虑到a,b都不是主键,那么需要将a,b转化成主键后再插入到T2表中,T2表中还可以保存更新前的数据,方便做数据回滚,T2表中有数据后,就可以执行下面脚本进行更新 *** 作:

ps:c,d是需要更新的 *** 作,e,f是条件。必须强调的是id必须是主键

1、构建临时表进行主键关联更新

需求:T1表有千万级别的数据量,需要更新这个表的字段a,b满足2个条件的记录。

做法:一般业务会将条件通过excel表格提供给开发,那么开发首先需要将这个excel表格的内容插入到临时表T2中,考虑到a,b都不是主键,那么需要将a,b转化成主键后再插入到T2表中,T2表中还可以保存更新前的数据,方便做数据回滚,T2表中有数据后,就可以执行下面脚本进行更新 *** 作:

ps:c,d是需要更新的 *** 作,e,f是条件。必须强调的是id必须是主键

1、首先打开plsql,连接上oracle数据库,假设有一张数据库表叫做 tblTest,通过sql查询也可以看出,这里面是有测试数据的。

2、oracle数据库添加列,比如,往测试表 tblTest 添加一个 日期类型的列 UpdateDate,sql语句就可以像下面这样实现,写完SQL之后,选中这一行sql,点击plsql左上角次轮状的图标执行sql语句:alter table TBLTEST add UpdateDate date;

3、执行成功之后,通过 select from TBLTEST ,就能看到新添加的列默认都是空值。

4、oracle数据库删除列,比如,将上一步添加的 UpdateDate 列删除掉,就可以使用下面的sql语句修改表:alter table tbltest drop column updatedate;

5、执行成功后,再次使用 select from TBLTEST ,就能看到 UpdateDate 列已经删除了。

6、oracle数据库修改列属性,比如,将测试表 tblTest 中 INTEGER 类型的 ITEMNUM 列修改为 number 类型,就可以使用下面的SQL语句:alter table tbltest modify ITEMNUM number;

7、在左侧 tbltest 表名上,点击鼠标右键,选择Edit选项,

8、然后在右侧出现的窗口中,点击Columns标签页,就能看到ITEMNUM已经从 INTEGER 改为 number 类型了。

一、pl/sql developer 中文字段显示乱码

原因:因为数据库的编号格式和pl /sql developer的编码格式不统一造成的。

二、查看和修改oracle数据库字符集:

select userenv('language') from dual;

查询结果:

SIMPLIFIED CHINESE_CHINAAL32UTF8

--修改oracle数据库字符集:(在SQL Plus中)

sql> conn / as sysdba;

sql> shutdown immediate;

database closed

database dismounted

oracle instance shut down

sql> startup mount;

oracle instance started

total system global area 135337420 bytes

fixed size 452044 bytes

variable size 109051904 bytes

database buffers 25165824 bytes

redo buffers 667648 bytes

database mounted

sql> alter system enable restricted session;

system altered

sql> alter system set job_queue_proces

以上就是关于如何批量修改oracle数据库中某一个表中的某一列数据全部的内容,包括:如何批量修改oracle数据库中某一个表中的某一列数据、oracle数据库如何修改字段的数据类型、plsql怎么更改oracle数据库编码设置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9773552.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存