orcale 修改字段属性

有些时候,因为没能预料到一些情况的变化,需要修改字段的类型。如果是varchar型,直接增加长度是可以的,但是如果需要修改成其他类型就不能这么做了。

思路:1、增加一个临时列,把需要修改的那个字段的数据,存放在这个临时列中

     2、把要修改的字段置空

     3、修改字段类型,把临时列中的数据放回该字段中

     4、删除临时列

     5:OK

具体代码如下:

alter table tb add lsl number;--增加临时列
update tb set lsl=dd ,dd=null;--把数据放到临时列,置空数据列
commit;
alter table tb modify dd NVARCHAR2(200);--修改字段类型
update tb set dd='00'||lsl where lsl is not null;--放回数据
commit;
alter table tb drop column lsl;--删除临时列

--参数说明tb 表明,dd要修改的列。lsl临时列
--描述:dd为number型,现在要把它修改成NVARCHAR2(200)

  

天地何其大,人生何其短。 不困于一时,不困于一世。 且恒且坚,且苦且乐,且行且看。
原文地址:https://www.cnblogs.com/mozizhu/p/4094365.html