Oracle如何修改列不為空的時候的資料型別

2021-12-29 22:06:33 字數 771 閱讀 1882

–新增臨時列

alter table tablename add filedname_temp number(2);–將臨時列的值置空

update zyt set id_temp=null; -----#alter table tablename modify filedname null;–將要更新的字段值挪到臨時列,並置空該列

update tablename set filedname_temp=filedname,filedname=null;

commit;–修改列的資料型別為varchar2

alter table tablename modify filedname varchar2(20);–將要臨時列值重新挪到該列,並置空臨時列

update tablename set filedname=filedname_temp,filedname_temp=null;

commit;–刪除臨時列

alter table tablename drop column filedname_temp;–給該列不能為空

alter table tablename modify filedname not null;–執行查詢測試

select * from tablename ;使用這種方式,既不用使列名發生變化,也不會發生表遷移,但有個缺點是表要更新兩次,而且當如果資料量較大時,產生的undo和redo也更多,前提也是要停機才進行操作,如果不停機 ,也可以採用**重定義方式來做。

注:請自行更換tablename和filedname為自己的實際值。

如何判斷jquery返回的物件不為空

使用console.log 列印出jquery選擇器返回的物件,發現它永遠是乙個陣列物件,若未找到指定元素,就會返回乙個空的陣列物件。通常,我們用js判斷dom是否存在,直接使用 if document.getelementbyid wrap 就能判斷,但是如果是jquery就不能這樣用了 if j...

Oracle 如何修改列的資料型別

問題 表a有資料,想修改其中有一列a1為varchar2 10 型 原來為number型 當時開始執行sql alter table a modify a1 varchar2 10 結果報錯了 sql alter table a modify a1 varchar2 10 alter table a...

oracle修改表增加列刪除列修改列

tag oracle修改表 sql增加列 sql刪除列 sql修改列 1.增加列 alter table table name add column datatype default expr column datatype.例如 sql alter table emp01 add eno numb...