Oracle操作的部分ddl语句

WBOY
Release: 2016-06-07 17:20:24
Original
1085 people have browsed it

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

linux

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!