Oracle 修改資料庫庫表的各種情況和SQL語句

2021-08-30 03:44:32 字數 1302 閱讀 9814

關鍵字: oracle 修改庫表 sql

由於最近需要程式生成ddl,修改oracle資料庫的庫表,因此我總結了一下修改oracle庫表的情況,總結如下:

1、新增一列:alter table table_name add (column_name varchar2(33 , 2) default '2' not null)

2、刪除一列:alter table table_name drop column column_name

3、修改資料型別:

有資料:ora-01439: 要更改資料型別,則要修改的列必須為空 (empty)

無資料:alter table table_name modify (column_name number(222,2))

4、修改預設值:

資料型別一致:alter table table_name modify (column_name default newvlaue)

資料型別不一致:ora-02262: 對列預設值表示式進行型別檢查時, 出現 ora-932

5、修改nullable:

將null修改為not null時:

存在空值:ora-02296: 無法啟用 (table_name) - 找到空值

不存在空值:alter table table_name modify (column_name not null)

將not null 修改為null時: alter table table_name modify (column_name null)

6、修改欄位名:

名稱符合: alter table table_name rename column old_column_name to new_column_name

名稱不符合:ora-00904: : 無效的識別符號

7、修改表名:

名稱符合: alter table table_name rename to new_table_name;

名稱不符合: ora-00903: 表名無效

8、修改字段長度:

資料中存在長度大於新值時: ora-01441: 無法減小列長度, 因為一些值過大

符合條件: alter table table_name modify (column_name varchar2(newlength))

注意:oracle對於表名和欄位名的限制為:

1、要以字母開頭

2、包含字母和數字,以及# $

3、不能超過30個字元

如果有遺漏,還請大家幫忙補上。。。

sql修改資料 oracle修改資料庫字符集

1.檢視資料庫字符集 資料庫伺服器字符集 select from nls database parameters 其 於props 是表示資料庫的字符集。客戶端字符集環境 select from nls instance parameters 其 於v parameter,表示客戶端的字符集的設定,...

oracle修改資料庫引數

命令 alter system set scope memory spfile both sid sid name memory 只改變當前例項執行,重新啟動資料庫後失效 spfile 改變spfile的設定,不改變當前例項執行,資料庫重啟生效 both 兼顧memory和spfile 針對rac環...

修改資料庫

改資料庫庫名稱 alter database 資料庫名稱 modify name 新資料庫名稱 或exec sp renamedb 資料庫名稱 新資料庫名稱 擴大資料庫 alter database語句擴大資料庫 alter database studentsys add file name stu...