> 데이터 베이스 > MySQL 튜토리얼 > Oracle操作的部分ddl语句

Oracle操作的部分ddl语句

WBOY
풀어 주다: 2016-06-07 17:20:24
원래의
1169명이 탐색했습니다.

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿