最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle視圖的創(chuàng)建、使用以及刪除操作方法大全

 更新時(shí)間:2023年12月20日 11:42:50   作者:ZimMer@檸檬  
這篇文章主要給大家介紹了關(guān)于Oracle視圖的創(chuàng)建、使用以及刪除操作方法的相關(guān)資料,視圖是基于一個(gè)表或多個(gè)表或視圖的邏輯表,本身不包含數(shù)據(jù),通過它可以對表里面的數(shù)據(jù)進(jìn)行查詢和修改,需要的朋友可以參考下

前言

視圖就是一張或多張表上的預(yù)定義查詢。

視圖作用:減少子查詢的復(fù)雜性;提高運(yùn)行效率;可以僅提供視圖數(shù)據(jù),提高數(shù)據(jù)的安全性。視圖以定義的方式存儲在數(shù)據(jù)庫中,不占用表空間。

查詢視圖的時(shí)候就是執(zhí)行視圖里封裝的邏輯,邏輯里用到的表稱為 基表。

一、創(chuàng)建視圖

視圖的命名:通常結(jié)尾帶_V。

視圖創(chuàng)建語法:

    create or replace view 視圖名稱_V
    as
    查詢的邏輯 (select);
   -- with read only; 可以增加只讀屬性

二、查詢、刪除視圖

查詢視圖就是查詢視圖中封裝的sql邏輯的內(nèi)容

查看視圖的語法:

select * from 視圖名;

刪除視圖的語法:

DROP VIEW 視圖名_V;

三、視圖的優(yōu)點(diǎn)

  • 可以簡化日常操作
  • 增加數(shù)據(jù)使用的安全性
  • 減少網(wǎng)絡(luò)數(shù)據(jù)傳輸
  • 可以增加只讀屬性(with read only),保障數(shù)據(jù)安全

例一:簡化日常的操作 --將常用的SQL封裝到視圖中

步驟一:創(chuàng)建查詢視圖:

create or replace view aa_v 
as 
select f.deptno 部門編號,f.dname 部門名稱 ,count(e.empno) 部門人數(shù) ,
avg(e.sal) 平均工資,max(e.sal) 最大工資,min(e.sal) 最小工資,sum(e.sal) 工資總和
from dept f
left join emp e
on f.deptno=e.deptno
group by f.deptno,f.dname
order by f.deptno;

該處使用的url網(wǎng)絡(luò)請求的數(shù)據(jù)。

步驟二:查看視圖

select * from aa_v;

例二:增加數(shù)據(jù)的安全性 --屏蔽掉私密數(shù)據(jù)(如工資,獎(jiǎng)金)

給用戶查看視圖bb_v權(quán)限,不給看emp表權(quán)限;

步驟一:創(chuàng)建查詢視圖:

create or replace view bb_v 
as 
select empno,ename,job,mgr,deptno
from emp;

步驟二:查看視圖

select * from bb_v;

例三:視圖的修改

步驟一:創(chuàng)建查詢視圖:

create table emp_111 as select * from emp;

create or replace view cc_v 
as 
select empno,ename,job,mgr,deptno
from emp_111;

步驟二:查看視圖

select * from cc_v;

步驟三:修改視圖

update cc_v set deptno=50 where empno=7788;
commit; --提交

步驟四:再次查看視圖

視圖數(shù)據(jù)發(fā)生了改變

select * from cc_v;

查看原表中的數(shù)據(jù),發(fā)現(xiàn)原表的數(shù)據(jù)也發(fā)生了改變。

select * from emp_111;

例四:視圖增加只讀屬性,防止別人對數(shù)據(jù)進(jìn)行修改

步驟一:創(chuàng)建查詢視圖:

create or replace view dd_v 
as 
select empno,ename,job,mgr,deptno
from emp_111
with read only;  --加上只讀屬性

步驟二:查看視圖

select * from dd_v;

步驟三:嘗試修改只可讀視圖

發(fā)現(xiàn)修改視圖內(nèi)容報(bào)錯(cuò)誤。

update cc_v set deptno=50 where empno=7788;
commit; --提交

例五:視圖當(dāng)表用

步驟一:創(chuàng)建查詢視圖:

CREATE OR REPLACE  VIEW EMP_ENAME_V 
AS 
SELECT T.EMPNO
      ,T.ENAME
      ,T.DEPTNO
      ---函數(shù)返回的結(jié)果一定要給別名
      ,TO_CHAR(T.HIREDATE,'YYYY') as rz_year
FROM EMP T; --基表

步驟二:查看視圖

select * from EMP_ENAME_V; --查詢視圖就是查詢視圖中封裝的sql邏輯的內(nèi)容;

步驟三:視圖當(dāng)做表進(jìn)行過濾查詢

SELECT * FROM EMP_ENAME_V TWHERE T.EMPNO = 7369;

例六:視圖嵌套使用

步驟一:創(chuàng)建查詢視圖:

CREATE OR REPLACE VIEW EMP_DEPT_V 
AS 
SELECT T.EMPNO
      ,T.ENAME
      ,T2.DNAME
FROM EMP_ENAME_V T
INNER JOIN DEPT T2
        ON T.DEPTNO = T2.DEPTNO;

步驟二:查看視圖

SELECT * FROM EMP_DEPT_V;

刪除視圖

DROP VIEW EMP_DEPT_V;

例七:with as 結(jié)合視圖使用

步驟一:創(chuàng)建查詢視圖:

create or replace view hh_v
as
with table1 as(select * from emp where deptno=10),
     table2 as(select * from emp where deptno=20),
     table3 as(select* from dept)
     
     select e.*,f.dname,f.loc from table1 e
     inner join table3 f
     on e.deptno = f.deptno;

步驟二:查看視圖

select * from hh_v;

附:如何使用Oracle創(chuàng)建多表視圖?

vip會員內(nèi)容

總結(jié) 

到此這篇關(guān)于Oracle視圖的創(chuàng)建、使用以及刪除操作方法大全的文章就介紹到這了,更多相關(guān)Oracle視圖創(chuàng)建使用及刪除內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Linux系統(tǒng)下Oracle數(shù)據(jù)庫的安裝和啟動關(guān)閉操作教程

    Linux系統(tǒng)下Oracle數(shù)據(jù)庫的安裝和啟動關(guān)閉操作教程

    這篇文章主要介紹了Linux系統(tǒng)下Oracle數(shù)據(jù)庫的安裝和啟動關(guān)閉操作教程,并針對在sqlplus下所需執(zhí)行的命令進(jìn)行講解,需要的朋友可以參考下
    2015-12-12
  • 淺析Oracle中sys、system和Scott用戶下的數(shù)據(jù)庫連接問題

    淺析Oracle中sys、system和Scott用戶下的數(shù)據(jù)庫連接問題

    這篇文章主要介紹了關(guān)于Oracle中sys、system和Scott用戶下的數(shù)據(jù)庫連接問題,本文通過示例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-07-07
  • VMware中l(wèi)inux環(huán)境下oracle安裝圖文教程(一)

    VMware中l(wèi)inux環(huán)境下oracle安裝圖文教程(一)

    剛剛接觸ORACLE的人來說,從那里學(xué),如何學(xué),有那些工具可以使用,應(yīng)該執(zhí)行什么操作,一定回感到無助。所以在學(xué)習(xí)使用ORACLE之前,首先來安裝一下ORACLE 10g,在來掌握其基本工具。俗話說的好:工欲善其事,必先利其器。作為一個(gè)新手,我們還是先在VMware虛擬機(jī)里安裝吧。
    2014-08-08
  • Oracle提高SQL執(zhí)行效率的3種方法

    Oracle提高SQL執(zhí)行效率的3種方法

    Oracle提供了多種方法在執(zhí)行帶有大量執(zhí)行計(jì)劃的復(fù)雜查詢時(shí)剖析過程會拖累系統(tǒng)的性能,感興趣的朋友可以了解下
    2013-09-09
  • Oracle-DBMS_LOB函數(shù)和用法說明

    Oracle-DBMS_LOB函數(shù)和用法說明

    這段描述主要er descriptionDBMS_LOB函數(shù)用于操作BLOB、CLOB、BFILE、NCLOB等數(shù)據(jù)類型,涵蓋打開、讀取、寫入、追加、截?cái)嗟炔僮?并提供比較、刪除、復(fù)制等功能,適用于數(shù)據(jù)庫大對象管理
    2026-06-06
  • 使用PLSQL查看表屬性亂碼的解決方法

    使用PLSQL查看表屬性亂碼的解決方法

    PL/SQL是Oracle數(shù)據(jù)庫的編程語言,用于編寫存儲過程、觸發(fā)器、函數(shù)等,今天用plsql想查看表的屬性,看看各個(gè)字段的注釋,可是打開一看,居然是亂碼的,所以接下來本文給大家介紹了使用PLSQL查看表屬性亂碼的解決方法,需要的朋友可以參考下
    2024-03-03
  • Oracle9i的全文檢索技術(shù)開發(fā)者網(wǎng)絡(luò)Oracle

    Oracle9i的全文檢索技術(shù)開發(fā)者網(wǎng)絡(luò)Oracle

    Oracle9i的全文檢索技術(shù)開發(fā)者網(wǎng)絡(luò)Oracle...
    2007-03-03
  • Oracle Sqlplus命令登錄多種方式案例講解

    Oracle Sqlplus命令登錄多種方式案例講解

    這篇文章主要介紹了Oracle Sqlplus命令登錄多種方式案例講解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Oracle如何獲取系統(tǒng)當(dāng)前時(shí)間等操作實(shí)例

    Oracle如何獲取系統(tǒng)當(dāng)前時(shí)間等操作實(shí)例

    這篇文章主要給大家介紹了關(guān)于Oracle如何獲取系統(tǒng)當(dāng)前時(shí)間等操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Oracle具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • ORACLE正則匹配查詢LIKE查詢多個(gè)值檢索數(shù)據(jù)庫對象

    ORACLE正則匹配查詢LIKE查詢多個(gè)值檢索數(shù)據(jù)庫對象

    這篇文章主要介紹了ORACLE正則匹配查詢,LIKE查詢多個(gè)值檢索數(shù)據(jù)庫對象,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07

最新評論

绵阳市| 大方县| 安徽省| 沧源| 景泰县| 龙山县| 彭水| 兰西县| 琼海市| 襄垣县| 长汀县| 安多县| 永昌县| 乌兰县| 枣强县| 乌鲁木齐县| 上蔡县| 红原县| 龙山县| 漳浦县| 象山县| 武宣县| 湖口县| 潍坊市| 青田县| 综艺| 辽宁省| 扎兰屯市| 深州市| 奇台县| 汕尾市| 扶余县| 洪洞县| 西充县| 偃师市| 三都| 陆川县| 辉南县| 施秉县| 神池县| 习水县|