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表语句重命名数据库中的表。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值