Oracle怎么清除视图数据,Oracle删除视图

在本教程中,您将学习如何使用Oracle DROP VIEW语句从数据库中删除视图。

Oracle DROP VIEW语句简介

要从数据库中删除视图,请使用以下DROP VIEW语句:

DROP VIEW schema_name.view_name

[CASCADE CONSTRAINT];

下面来看看各个参数的说明 -

schema_name - 首先,指定包含视图的模式的名称。如果跳过模式名称,则Oracle假定该视图位于当前用户模式中。

view_name - 其次,指定要删除的视图的名称。如果一个视图被其他视图,物化视图或同义词所引用,Oracle将把这些对象标记为INVALID,但不会将其移除。

CASCADE CONSTRAINT - 第三,如果视图有任何约束,则必须指定CASCADE CONSTRAINT子句以删除引用视图中的主键和唯一键的所有参照完整性约束。如果不这样做,存在这样的约束时,DROP VIEW语句将会失败。

Oracle DROP VIEW示例

以下语句基于employees表创建一个名为salesman的视图:

CREATE VIEW salesman AS

SELECT

*

FROM

employees

WHERE

job_title = 'Sales Representative';

该视图仅返回职位为销售代表的员工。

SELECT

*

FROM

salesman;

如下所示 -

40964f0b0fb59e858c2625c7dee71cf2.png

以下语句基于salesman视图创建另一个名为salesman_contacts的视图:

CREATE VIEW salesman_contacts AS

SELECT

first_name,

last_name,

email,

phone

FROM

salesman;

salesman_contacts视图返回推销员的唯一名称,电子邮件和电话:

SELECT

*

FROM

salesman_contacts;

执行上面查询语句,得到以下结果 -

756d00ac65b4cf3726adeec2970cc864.png

要删除salesman视图,请使用以下语句:

DROP VIEW salesman;

由于salesman_contacts视图依赖于salesman视图,因此在salesman视图被删除时变为无效。

可以通过查询user_objects视图中的数据来检查视图的状态。请注意,对象名称必须是大写的。

SELECT

object_name,

status

FROM

user_objects

WHERE

object_type = 'VIEW'

AND object_name = 'SALESMAN_CONTACTS';

执行上面查询语句,得到以下结果 -

e1b907fc462a3ae0b949ac05bd652d1c.png

正如所看到的,salesman_contacts视图的状态是无效的。

要删除salesman_contacts视图,请使用以下DROP VIEW语句:

DROP VIEW salesman_contacts;

在本教程中,您学习了如何使用Oracle DROP VIEW语句从数据库中删除视图。

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值