由于最近需要程序生成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个字符 安装Cacti过程中的异常及解决方法ORA-01552: 非系统表空间 "USERS" 不能使用系统回退段的处理相关资讯 Oracle基础教程
- Oracle块编程返回结果集详解 (11/10/2013 10:45:58)
- Oracle基础教程之设置系统全局区 (08/22/2013 14:24:00)
- Oracle基础教程知识点总结 (06/18/2013 07:43:32)
| - Oracle基础教程之tkprof程序详解 (10/22/2013 11:49:50)
- Oracle基础教程之sqlplus汉字乱码 (07/18/2013 16:30:00)
- Oracle 管理之 Linux 网络基础 (02/16/2013 18:37:35)
|
本文评论 查看全部评论 (0)