Oracle操作的部分ddl语句

2014-11-24 18:33:11 · 作者: · 浏览: 0

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个字符