【转】修改/删除视图

11.2.3 修改/删除视图

在创建了关系视图vw_employees之后,可以对其进行修改和删除操作。

1.修改视图

修改视图的过程即为重新定义视图的过程。可以通过首先删除视图,然后再次创建实现。另外,Oralce也提供了一个专门的命令--create or replace view来重新定义视图。其语法形式如下所示。

create or replace view 视图名称 as 查询语句|关系运算

【示例11-6】 假设现在需要为视图vw_employees添加新列employee_age,那么可以利用如下SQL语句。

create or replace view vw_employees as
select employee_id, employee_name, employee_position,
employee_age from employees

其中create or replace view vw_employees用于创建或者替换视图vw_employees的定义;as之后的查询语句为视图的新定义,在新定义中增加了列employee_age。

注意:create or replace view命令的作用。当同名视图不存在时,将执行创建命令;否则将执行替换命令。

可以通过查询视图内容验证是否成功执行了视图重定义,SQL语句如下所示。

SQL> select * from vw_employees;

EMPLOYEE_ID EMPLOYEE_NAME EMPLOYEE_POSITION EMPLOYEE_AGE
----------- ------------- ----------------- ------------
1 王晓 开发经理 35
2 钟平 高级工程师 30
3 刘俊 高级工程师 25
4 王龙 工程师 24
5 钟文 工程师 24
6 张三 测试工程师

6 rows selected

在查询结果中可以获得新列employee_age,代表视图的重定义已经成功执行。

2.删除视图

删除视图的动作实际为删除数据库中的对象操作,因此该操作为DML操作。如同删除数据表对象,删除视图也应该使用drop命令,其语法形式如下所示。

drop view view_name

其中drop view向数据库发送删除视图命令;view_name则指定了要删除的视图名称。

【示例11-7】 如需删除视图vw_employees,则可以利用如下SQL语句。

SQL> drop view vw_employees;

View dropped

可以通过查询视图内容来验证vw_employees是否成功删除。

SQL> select * from vw_employees;

select * from vw_employees

ORA-00942: table or view does not exist

ORA-00942: table or view does not exist为Oracle抛出的错误,表示表或视图不存在,印证了利用drop命令已经成功删除了视图vw_employees。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值