oracle修改欄位的sql語句 Oracle

2021-10-10 11:16:34 字數 992 閱讀 5950

1、新增字段

create

table ord

( table_name type

, username varchar2(30)

, cust_id number(4)

);

2、刪除字段

alter

table table_name drop

column column_name;

3、修改字段

alter

table table_name modify

(column_name type

);

ora-01758: 要新增必需的 (not null) 列, 則表必須為空

如上所示, 報上面錯誤的原因是 表中存在資料, 如果新增非空字段, 肯定是不允許的, 都限制非空了, 其他資料新增的字段沒有值, 卻限制非空, 肯定是新增不了的

解決方法有兩個, 乙個是刪除表中的資料, 另乙個就是給新增的字段設定預設值

新增字段設定預設值(常用)

alter

table ord add price number(8,

2)default

0not

null

;

刪除原表中的資料
-- 刪除表中資料

truncate

table ord;

--刪除表之前插入的新增字段

alter

table ord drop

column price;

--插入新增字段

alter

table ord add price number(8,

2)notnull

;

參考文章

oracle之修改表字段的sql

用慣了pl sql開發,那些基礎的sql語句都忘記不少了。比如這個修改表字段 alter table patrol lines powercut modify powercut cause varchar2 400 task planning varchar2 400 powercut desc v...

sql 修改字段

1 修改欄位名 alter table 表名 rename column a to b 2 修改字段型別 alter table 表名 alter column 欄位名 type not null 3 修改字段預設值 如果欄位有預設值,則需要先刪除欄位的約束,在新增新的預設值 alter table...

SQL 修改字段

語法 alter table 表名 alter column 欄位名 新型別名 長度 示例 假如有名t1,欄位名f1,原來f1為varchar 3 現在要改為varchar 10 則可以這麼寫 alter table t1 alter column f1 varchar 10 一般地,改欄位名可以用...