工作中遇到:在為乙個表新增欄位後,新增欄位在最後,想調整新增欄位的位置。
1、原始方法:
--新建臨時表以儲存正確的順序這種方法對字段較少的表來說還不會顯得太麻煩,但是對於欄位較多的表來說就吃力了。create table a_2 as select (column1,colum2,……a表中的順序) from a_1 ;
--刪除表a_1
drop table a_1;
--新建a_1並從a_2表中賦予其正確的順序和值
create table a_1 as select * from a_2;
--刪除臨時表a_2
drop table a_2;
2、利用系統資料庫
[1] 首先,以sys使用者的身份登入pl/sql
[2] 查詢出你要更改的表的id,以我本地的資料為例,我要改'finace'使用者下'income'這張表。注:oracle中的表要用大寫。
select object_id得到income這張表的i,如圖所示:from all_objects
where owner = 'finace' and object_name = 'income' ;
[3] 根據id去查詢該表中的字段以及字段序號
select obj#,col#,name結果如下圖所示:from sys.col$
where obj#=73626;
[4] 第二列便是欄位的序號,就可以用update語句來任意調整欄位的順序了。
sql示例:
update sys.col$
set col# = decode(name,
'code',
1,'message',
2,'info',
3,'oracle_user',
4,'error_date',
5)where obj# = (select object_id
from all_objects a
where owner = 'emptrain'
and object_name = upper('sys_error_log'))
Oracle 之 表新增欄位後修改字段順序
工作中遇到 在為乙個表新增欄位後,新增欄位在最後,想調整新增欄位的位置。1 原始方法 新建臨時表以儲存正確的順序 create table a 2 as select column1,colum2,a表中的順序 from a 1 刪除表a 1 drop table a 1 新建a 1並從a 2表中賦...
Oracle 之 表新增欄位後修改字段順序
工作中遇到 在為乙個表新增欄位後,新增欄位在最後,想調整新增欄位的位置。1 原始方法 新建臨時表以儲存正確的順序 create table a 2 as select column1,colum2,a表中的順序 from a 1 刪除表a 1 drop table a 1 新建a 1並從a 2表中賦...
MySQL新增字段,修改字段,刪除字段,修改表資訊
mysql的簡單語法,常用,卻不容易記住。當然,這些sql語法在各資料庫中基本通用。下面列出 一 查詢資訊 1.登入資料庫 mysql u root p 資料庫名稱 2.查詢所有資料表 show tables 3.查詢表的字段資訊 desc 表名稱 二 修改表資訊 1.修改表名 2.修改表注釋 三 ...