【學習】SQL基礎-015-檢視
1、本質:邏輯資料集,沒有真正資料
2、型別
簡單檢視:不使用函式,不使用聚合;一般可以接受DML
複雜檢視:使用函式和聚合;不能接受DML
3、原理
oracle 訪問 user_views 資料字典,找到檢視的子查詢並執行,返回資料;
訪問檢視,實際是訪問基表;
檢視是存放在資料字典中的一條子查詢。
4、建立
前提:create view 許可權
語法:
引數:
force: 即使子查詢中明細表不存在,也建立檢視。
noforce: 預設值,如果明細表不存在,則引發錯誤。
with check option 加約束進行檢查,對檢視進行 dml 操作時,檢查建立時的 where 條件。 確保DML在特定範圍內操作
with read only 只能進行查詢,不能透過檢視修改基表。 禁止DML操作
5、應用例
查詢表空間的使用情況
create view tablesp_usage as
select a.tablespace_name as tablespace_name,
to_char(a.total/1024/1024,99999999) as total_mb,
to_char((a.total-b.free)/1024/1024,99999999) use_mb,
to_char(b.free/1024/1024,99999999) as free_mb,
to_char(((total-free)/total)*100,999.99) as "Used %"
from
(select tablespace_name,sum(bytes) as total from dba_data_files
group by tablespace_name) a,
(select tablespace_name,sum(bytes) as free from dba_free_space
group by tablespace_name) b
where a.tablespace_name=b.tablespace_name order by 5 desc;
6、刪除
drop view 不會刪除基表資料
2、型別
簡單檢視:不使用函式,不使用聚合;一般可以接受DML
複雜檢視:使用函式和聚合;不能接受DML
3、原理
oracle 訪問 user_views 資料字典,找到檢視的子查詢並執行,返回資料;
訪問檢視,實際是訪問基表;
檢視是存放在資料字典中的一條子查詢。
4、建立
前提:create view 許可權
語法:
引數:
force: 即使子查詢中明細表不存在,也建立檢視。
noforce: 預設值,如果明細表不存在,則引發錯誤。
with check option 加約束進行檢查,對檢視進行 dml 操作時,檢查建立時的 where 條件。 確保DML在特定範圍內操作
with read only 只能進行查詢,不能透過檢視修改基表。 禁止DML操作
5、應用例
查詢表空間的使用情況
create view tablesp_usage as
select a.tablespace_name as tablespace_name,
to_char(a.total/1024/1024,99999999) as total_mb,
to_char((a.total-b.free)/1024/1024,99999999) use_mb,
to_char(b.free/1024/1024,99999999) as free_mb,
to_char(((total-free)/total)*100,999.99) as "Used %"
from
(select tablespace_name,sum(bytes) as total from dba_data_files
group by tablespace_name) a,
(select tablespace_name,sum(bytes) as free from dba_free_space
group by tablespace_name) b
where a.tablespace_name=b.tablespace_name order by 5 desc;
6、刪除
drop view 不會刪除基表資料
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31476473/viewspace-2152745/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sql大資料 基礎(檢視)SQL大資料
- SQL學習___01:基礎SQL
- 【學習】SQL基礎-018-索引SQL索引
- 【學習】SQL基礎-016-序列SQL
- 【學習】SQL基礎-013-DDLSQL
- 【學習】SQL基礎-011-TCLSQL
- 【學習】SQL基礎-010-DMLSQL
- 【學習】SQL基礎-002-SELECTSQL
- 前端學習-vue影片學習015-其他API前端VueAPI
- MySQL學習(三) SQL基礎查詢MySql
- 【學習】SQL基礎-014-約束SQL
- 【學習】SQL基礎-012-鎖定SQL
- 【學習】SQL基礎-005-group by子句SQL
- 【學習】SQL基礎-004-函式SQL函式
- 【學習】SQL基礎-017-同義詞SQL
- 【學習】SQL基礎-009-sqlplus環境SQL
- 【學習】SQL基礎-008-集合運算子SQL
- 【學習】SQL基礎-007-子查詢SQL
- 【學習】SQL基礎-003-過濾排序SQL排序
- 【學習】SQL基礎-001-前期準備SQL
- ASP.Net MVC開發基礎學習筆記(10):分部檢視PartialViewASP.NETMVC筆記View
- 視覺化學習:WebGL的基礎使用視覺化Web
- 【學習】SQL基礎-006-多表連線查詢SQL
- 【Flutter 基礎】 檢視佈局-前言Flutter
- Django基礎之三(類檢視)Django
- corejava基礎知識(6)-檢視Java
- MySQL之檢視學習MySql
- 【學習】SQL基礎-019-控制使用者訪問SQL
- 免殺學習-基礎學習
- odoo檢視入門學習- tree檢視的使用Odoo
- Linux基礎學習——檔案基礎Linux
- Django基礎三之檢視函式Django函式
- Django基礎三之路由、檢視、模板Django路由
- 音視訊學習(一)-- 基礎知識準備
- kafka基礎學習Kafka
- Zookeeper 基礎學習
- 深度學習基礎深度學習
- Pandas基礎學習