oracle DDL更改列类型,Oracle操作的部分ddl语句

由于最近需要程序生成DDL,修改Oracle数据库的库表,因此我总结了一下修改Oracle库表的情况,总结如下: 1、新增一列:ALTER TAB

由于最近需要程序生成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个字符

logo.gif 本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值