Oracle12C--视图(十九)

知识点的梳理:

  • 使用视图进行单表更新时,会影响视图中指定的数据。而删除操作也会影响原始表的数据;
    • 视图在进行多表更新操作时,因涉及到多表,所以都会出现异常,只有删除操作可以正常执行。同样会影响原始表的数据;
    • 可以通过触发器,对视图进行多表的更新操作:
  • 删除视图语法:drop view视图名称;
  • 视图本身不属于真实数据,所以在创建视图时,利用with read only 设置为只读视图;

      

  • 为什么需要视图
    • 视图可以实现对复杂sql语句的封装;
    • 限制数据访问;
  • oracle实体 -- 视图
    • 视图是Oracle数据库对象 , 可以把视图当做一张数据库 虚拟表对待 , 数据库只存放视图的定义,而不存放视图对应的数据。这些数据仍然在原来的实体表中。所以实体表中的数据发生变化,视图中查询出的数据也随之改变;
  • 创建视图
    • 语法:

create [force | noforce] [or replace] view视图名称 [(别名1,别名2,.....)]
as
子查询;

语法参数解析:
force:表示要创建视图的表,不存在也可以创建视图;
noforce(默认)表示要创建视图的表必须存在,否则无法创建;
or replace:表示视图的替换。如果创建的视图不存在,则创建新的视图;如果视图已经存在,则将其替换;

示例:如果出现权限不足的问题看这里:创建视图时出现权限不足

CREATE VIEW v_myview

AS

SELECT * FROM emp WHERE sal>2000 ;

示例:查看视图是否创建成功
select * from tab where tabtype = 'VIEW'; --VIEW必须是大写

示例2:第2种查看视图的方式,通过user_view数据字典
SELECT view_name,text_length,text FROM user_views ;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle 12c中,视图是一种虚拟表,它是由一个或多个基表的查询结果组成的。视图可以简化复杂的查询,提供更方便的数据访问方式。然而,与Oracle 11g不同,Oracle 12c在运行时不遵循谓词的顺序,这可能导致查询中的无效数字异常。为了解决这个问题,可以尝试使用ORDERED_PREDICATES提示来强制12c按顺序评估谓词,以确保查询的正确执行。\[1\] 另外,虽然Oracle中的视图不能直接带参数,但可以通过变通的方式来实现。例如,可以在视图中使用已定义好的方法(GET_A_NAME())来查询对应的数据,并在视图中限定特定的条件,如C.TIME=指定的时间,以减少数据量,提高查询效率。\[2\]这样做可以有效地优化视图,并提升打印报表的速度。\[3\] #### 引用[.reference_title] - *1* [Oracle 12c内联视图评估](https://blog.csdn.net/weixin_36179933/article/details/116360190)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [oracle视图(带参数)](https://blog.csdn.net/weixin_33940469/article/details/116506434)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值