Oracle视图(View)demo
来源:互联网 发布:夜跑装备 知乎 编辑:程序博客网 时间:2024/06/06 03:05
Oracle视图(View)创建使用
Oracle对象教程:视图(View)创建使用,视图(View)实际上是一张或者多张表上的预定义查询,这些表称为基表。从视图中查询信息与从表中查询信息的方法完全相同。只需要简单的SELECT…FROM即可。
视图具有以下优点:
1. 可以限制用户只能通过视图检索数据。这样就可以对最终用户屏蔽建表时底层的基表。
2. 可以将复杂的查询保存为视图。可以对最终用户屏蔽一定的复杂性。
3. 限制某个视图只能访问基表中的部分列或者部分行的特定数据。这样可以实现一定的安全性。
4. 从多张基表中按一定的业务逻辑抽出用户关心的部分,形成一张虚拟表。
语法结构:创建视图
create or repalce view V_xxx AS
select .....
需求:从多张数据表中提取某些字段(这些字段通常被经常使用,个人觉得视图相当于是抽取公共的部分字段内容进行封装)
CREATE OR REPLACE VIEW V_DEALER_CONSIGNMENT_INVENTORYAS
SELECT PA.V_ROUTEID,
PA.V_ROUTENAME,
PA.V_PROD_CODE,
PA.V_PROD_NAME,
P1.V_BIG_TYPE,
P1.V_PROD_BIG_NAME,
P1.V_SMALL_TYPE,
P1.V_SMALL_NAME,
PA.N_NUM N_CONSIGNMENT_NUM,
PA.N_ACTIVATION_NUM,
PB.N_BACK_NUM,
(PA.N_NUM - PC.N_SALE_NUM- PB.N_BACK_NUM) N_STOCK_NUM,
PC.N_SALE_NUM
FROM (SELECT T.V_PROD_CODE,T.V_PROD_NAME,T.V_BIG_TYPE,T.V_SMALL_TYPE,Y.V_SMALL_NAME,B.V_PROD_BIG_NAME
FROM T_DEALER_PRODUCT T, T_DEALER_PROD_TYPE Y, T_DEALER_PROD_BIG B
WHERE T.V_SMALL_TYPE = Y.V_SMALL_TYPE
AND Y.V_BIG_TYPE = B.V_PROD_BIG_CODE) P1,
--寄售量、激活量
(SELECT O.V_ROUTEID,O.V_ROUTENAME,V_PROD_NAME,V_PROD_CODE,
SUM(N_NUM) N_NUM,SUM(N_ACTIVATION_NUM) N_ACTIVATION_NUM
FROM T_DEALER_ORDER_PROD A, T_DEALER_CONSIGNMENT_ORDER O
WHERE A.V_ORDERID = O.V_ORDERID
AND V_STATE = 'FINISH'
GROUP BY V_PROD_CODE, O.V_ROUTEID, V_PROD_NAME, O.V_ROUTENAME) PA,
--PB 退貨量
(SELECT A.V_PROD_CODE, R.V_ROUTEID,COUNT(A.V_ICCID) N_BACK_NUM
FROM T_DEALER_PROD_RETURN R, T_DEALER_RETURN_ANALISIS A
WHERE R.N_ID = A.N_ID
AND V_RETURN_TYPE ='RETURN'
AND V_RETURN_WAY='Consignment'
AND V_STATE='FINISH'
AND A.V_PAY_TYPE = '5'
GROUP BY A.V_PROD_CODE, R.V_ROUTEID) PB,
--PC 已銷量
(SELECTSUM(N_NUM) N_SALE_NUM, V_PROD_CODE, A.V_ROUTEID
FROM T_DEALER_ORDER_PROD A, T_DEALER_ORDER B
WHERE A.V_ORDERID = B.V_ORDERID
AND N_PAY_TYPE = 5
AND V_STATE != 'CANCEL'
GROUP BY V_PROD_CODE, A.V_ROUTEID) PC
WHERE
PA.V_PROD_CODE = P1.V_PROD_CODE
AND PA.V_ROUTEID = PB.V_ROUTEID(+)
AND PA.V_PROD_CODE = PB.V_PROD_CODE(+)
AND PA.V_ROUTEID = PC.V_ROUTEID(+)
AND PA.V_PROD_CODE = PC.V_PROD_CODE(+);
- Oracle视图(View)demo
- Oracle视图view
- Oracle 视图(View)
- ORACLE VIEW视图
- Oracle 视图(View)
- oracle view 视图
- Oracle 视图(View)
- oracle view视图update
- ORACLE 视图(VIEW)
- oracle 创建视图view
- Oracle视图view
- Oracle 视图(View)
- oracle视图view
- Oracle 视图(View) 说明
- oracle物化视图(materialized view)
- Oracle 视图(View) 说明
- Oracle 视图(View) 说明
- Oracle 视图(View)说明
- 大数据企业学习篇04-----Sqoop浅析
- TensorFlow的安装方法
- 第3章 函数
- 阿里云完成德国C5云安全标准评审,云上安全应该如何保护?
- ios直播---基于LFLiveKit的直播项目
- Oracle视图(View)demo
- 从0开始学习 GitHub 系列之「04.向GitHub 提交代码」
- HTML5 移动页面自适应手机屏幕四类方法
- 第4章 列表
- RecyclerView条目的点击事件,接口回调
- iOS使用GCDSocketManager实现长连接
- 计算机基本组成
- 基于JQuery的图片上传预览插件(图片预览、过滤文件类型、限制图片大小、图片显示后回调)
- 根据 *_train_val.prototxt文件生成 *_deploy.prototxt文件