oracle 如何指定一行增加多列数据

oracle 如何指定一行增加多列数据,第1张

最好的方法是批量修改,即每次修改5000条(一次修改不要超过一万条,否则影响性能).

虽然在11g中,我们也可以选择使用merge命令,但你的这种情况最好先修改一部分然后看看影响,毕竟在生产环境作这样的 *** 作风险很大。

如果是误 *** 作,最好还是请DBA来恢复,虽然这样做会被挨骂,但总比错上加错,最后连挨骂的机会都没有要好得多。

如果对这些修改真的有信心,而只是从性能考虑,那可以用下面的方法(pk_col 是表的主键):

merge into xxx aa

using (select pk_col from xxx) bb

on (aa.pk_col=bb.pk_col)

when matched then

update set aa.datatype=66 where aa.datatype is null

添加列的语法是:

alter table table_name add (w number(4),y number(4))

但是你是无法控制新增的列在1,2,3,4,5前面。只能采用变通的方法;

1 如上先把列添加上。

2 然后

create table table_name1 select (A,B,C...,W,Y,1,2,3,4,5) from table_name

3 drop table table_name

4 alter table table_name1 rename table_name

------------------------------补充------------------------------------

就我所了解看来,你必须这样做。

你的列很多?有多少?有1000个吗?

表中列的顺序并不重要。你如果非要达到这种效果那么不得不付出代价。比如说:像上面将每个列都写上去。。。

数据不会丢失。


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

原文地址: https://outofmemory.cn/bake/11727044.html

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

发表评论

登录后才能评论

评论列表(0条)

保存