- Oracle数据库是什么?
- Oracle 11g安装教程
- Oracle 12C安装
- Oracle数据库和实例
- 连接到Oracle数据库
- Oracle示例数据库
- 导入Oracle示例数据库
- Oracle基础入门
- Oracle数据定义
- Oracle数据类型
- Oracle修改数据
- Oracle查询数据
- Oracle连接表
- Oracle操作符
- Oracle约束
- Oracle高级部分
Oracle重命名表
在本教程中,您将学习如何使用Oracle RENAME
语句重命名数据库中的表。
要重命名表,可以使用以下Oracle RENAME
表语句,如下所示:
RENAME table_name TO new_name;
在RENAME
表语句中:
- 首先,指定将要重命名的表名称。
- 其次,指定新的表名。新名称不能与同一模式中的另一个表相同。
请注意,一旦执行了
RENAME
语句,就不能回滚了。
当重命名表时,Oracle自动将旧表上的索引,约束和授权转移到新表上。 另外,它使依赖重命名表(原表)的所有对象失效,如视图,存储过程,函数和同义词。
Oracle RENAME表的例子
我们来创建一个名为promotions
表,用来作演示。
CREATE TABLE promotions( promotion_id NUMBER GENERATED BY DEFAULT AS IDENTITY, promotion_name varchar2(255), start_date DATE NOT NULL, end_date DATE NOT NULL, PRIMARY KEY(promotion_id), CHECK (end_date > start_date) );
以下PL/SQL
函数通过查询promotions
表中的数据来返回促销的数量:
CREATE OR REPLACE FUNCTION count_promotions RETURN NUMBER IS v_count NUMBER; BEGIN SELECT COUNT( * ) INTO v_count FROM promotions; RETURN v_count; END;
要将promotions
表重命名为campaigns
表,可以使用以下语句:
RENAME promotions TO campaigns;
如上面所述,Oracle将promotions
表中的所有索引,约束和授权转移到campaigns
表中。 以下语句显示了从promotions
表传输的新campaigns
表的限制条件:
SELECT OBJECT_TYPE,OBJECT_NAME,status FROM all_objects WHERE status = 'INVALID' and OWNER='OT' ;
因为COUNT_PROMOTIONS
函数引用了promotions
表,所以当重命名promotions
表时,COUNT_PROMOTIONS
函数变得无效。
要查找当前模式中的无效对象,可以从all_objects
视图中查询数据,如下所示:
SELECT owner, object_type, object_name FROM all_objects WHERE status = 'INVALID' ORDER BY object_type, object_name;
执行上面查询语句,得到以下结果 -
如上查询结果所示,该语句返回COUNT_PROMOTIONS
函数作为无效的对象。
在本教程中,您已学习如何使用Oracle RENAME
表语句重命名数据库中的表。
上一篇:Oracle截断表
下一篇:Oracle Number类型
扫描二维码
程序员编程王