由于最近需要程序生成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个字符
如果有遗漏,还请大家帮忙补上。。。
分享到:
相关推荐
oracle导出ddl语句 表 所有 过程 包
excel 生成oracle ddl , 工作中一般会出现这种情况,和其他单位合作开发项目时,对方会给我们一份他们的数据字典,excl或者world的,这种情况下我们要根据数据字典将表结构建好,但是一个字段一个字段的去复制粘贴会...
我们都知道在9i之前,要想获得建表和索引的语句是一件很麻烦的...在 Oracle 9i中,我们可以直接通过执行dbms_metadata从数据字典中查处DDL语句。使用这个功能强大的工具,我们可以获得单个对象或整个SCHEMA 的DDL语句。
例如,当你需要将一个Access数据库迁移到其他系统,如SQL Server或Oracle时,DDL语句可以帮助你准确地重建数据库结构。在Access中,生成DDL语句通常通过以下步骤完成: 1. 打开Access数据库,选择你想要导出DDL语句...
配置GoldenGate同步DDL语句 GoldenGate 是一种数据 replication 和集成工具,能够在异构数据库之间进行数据实时同步和复制。在配置GoldenGate同步DDL语句之前,需要完成一系列的预安装先决步骤,以确保GoldenGate...
综上所述,Oracle GoldenGate作为一种强大的数据复制工具,不仅能够支持DML语句的同步,还能支持DDL语句的同步,这对于确保源端和目标端数据库结构的一致性至关重要。通过合理的配置和实践,可以充分发挥GoldenGate...
以下是一些Oracle数据库的常用操作语句及其详细解释: 1. **查看帮助信息**: - `help show`:显示特定命令的帮助信息。 - `show all`:列出所有系统变量的当前值。 2. **查看系统状态**: - `show user`:显示...
这个包的主要函数GET_DDL负责返回指定类型的DDL语句,参数包括对象类型、对象名称以及(可选的)所有者名称。 以下是一个例子,展示了如何使用DBMS_METADATA来获取单个表和索引的DDL: 1. 获取单个表和索引的DDL:...
Java作为一种广泛应用的编程语言,能够帮助我们实现与数据库的交互,完成各种自动化操作,包括生成控制文件(CTL)、SELECT SQL语句以及建表DDL语句。本篇将详细讲解如何使用Java连接Oracle数据库,按需生成这些关键...
在本文中,我们将详细介绍 Oracle 中常用的 SQL 语句,包括数据控制语句(DML)、数据定义语句(DDL)和其他相关知识点。 一、数据控制语句(DML) 数据控制语句用于操作数据库中的数据,包括插入、删除、更新等...
本文将深入探讨在"Oracle学习及练习语句"主题中涉及的关键知识点,包括DDL语句、联系表设计、ROWNUM的使用以及如何查询和删除重复记录。 1. DDL(Data Definition Language)语句:在Oracle中,DDL用于创建、修改或...
总之,Oracle 9i通过`DBMS_METADATA`包提供了方便的方式来获取数据库对象的DDL语句,极大地简化了系统管理和维护的工作。不论是对单个对象的操作,还是对整个SCHEMA的管理,都能通过这个强大的工具高效完成。通过...
这个触发器会在每次执行DDL语句后记录操作的时间、执行用户和执行的DDL语句。 通过使用这些触发器,数据库管理员可以创建一个全面的审计日志,以满足法规遵从性和内部审计需求。同时,由于这些触发器是在操作后触发...
在Oracle数据库管理中,获取DDL(Data Definition Language)是常见的任务,它涉及到创建或修改数据库对象的SQL语句。这篇文章将详细介绍三种常用的Oracle获取DDL的方法。 首先,我们可以通过第三方工具来实现,...
例如,MySQL的DML(Data Manipulation Language)语句,如`INSERT`、`UPDATE`和`DELETE`,与标准SQL基本一致,但其DDL(Data Definition Language)如`CREATE TABLE`在某些特性上可能与Oracle或SQL Server有所不同。...
在Oracle数据库管理中,获取表的DDL(Data Definition Language)是一项常见的任务,它涉及到了数据库对象的创建、修改和删除等操作的语句。当需要重建或复制表结构时,或者进行版本控制和备份时,这个功能尤为重要...
Oracle 数据库语句大全是 Oracle 数据库管理系统中的一系列语句,用于管理和操作数据库。这些语句可以分为五大类:数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)和事务控制语言(TCL)。 一....