Oracle中修改某個字段可以為空


待修改字段假定為:shuifen

1.當該字段為空時,可直接修改:

alter table reportqymx modify shuifen null;

 

2.當待修改字段不為空時:
新增一列
把要改變的列的值轉移過去並清空原列的值
改變列的數據類型
把值轉移回來,並刪除新增的列
alter table reportqymx add shuifen_temp number(10);  
update reportqymx set shuifen_temp=shuifen;  
alter table reportqymx modify shuifen null;  
update reportqymx set shuifen=shuifen_temp;  
alter table reportqymx drop column shuifen_temp;

 

 

 

樓下有位大哥回復說: 在該列有值的情況下也可以直接修改

  

我測試了一下,確實是能修改 。。。

 

我記得之前是不能直接改的,好像是會清空該列所有值

 

既然這樣,這篇文章作廢。。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM