Heim >Datenbank >MySQL-Tutorial >Oracle操作的部分ddl语句

Oracle操作的部分ddl语句

WBOY
WBOYOriginal
2016-06-07 17:20:241169Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Oracle 工具:tkprofNächster Artikel:Oracle 有关 Consistent gets 的测试