Oracle修改字段类型方法
為什么80%的碼農都做不了架構師?>>> ??
有一個表名為tb,字段段名為name,數據類型nchar(20)。
1、假設字段數據為空,則不管改為什么字段類型,可以直接執行:
alter table tb modify (name nvarchar2(20));
2、假設字段有數據,則改為nvarchar2(20)可以直接執行:
alter table tb modify (name nvarchar2(20));
3、假設字段有數據,則改為varchar2(40)執行時會彈出:“ORA-01439:要更改數據類型,則要修改的列必須為空”,這時要用下面方法來解決這個問題 :
/*修改原字段名name為name_tmp*/
alter table tb rename column name to name_tmp;
/*增加一個和原字段名同名的字段name*/
alter table tb add name varchar2(40);
/*將原字段name_tmp數據更新到增加的字段name*/
update tb set name=trim(name_tmp);
/*更新完,刪除原字段name_tmp*/
alter table tb drop column name_tmp;
總結:
1、當字段沒有數據或者要修改的新類型和原類型兼容時,可以直接modify修改。
2、當字段有數據并用要修改的新類型和原類型不兼容時,要間接新建字段來轉移。
?
后續有很多開發填坑的文章發布,如果對你有幫助,請支持和加關注一下
http://e22a.com/h.05ApkG?cv=AAKHZXVo&sm=339944
https://shop119727980.taobao.com/?spm=0.0.0.0?
轉載于:https://my.oschina.net/baishi/blog/489013
總結
以上是生活随笔為你收集整理的Oracle修改字段类型方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【web开发学习笔记】Structs2
- 下一篇: nodejs mongoose建模实践