欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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ù)(如工資,獎金)

給用戶查看視圖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)文章

  • Oracle數(shù)據(jù)庫數(shù)據(jù)丟失恢復(fù)的幾種方法總結(jié)

    Oracle數(shù)據(jù)庫數(shù)據(jù)丟失恢復(fù)的幾種方法總結(jié)

    相信大家無論是開發(fā)、測試還是運(yùn)維過程中,都可能會因?yàn)檎`操作、連錯(cuò)數(shù)據(jù)庫、用錯(cuò)用戶、語句條件有誤等原因,導(dǎo)致錯(cuò)誤刪除、錯(cuò)誤更新等問題。當(dāng)你捶胸頓足或嚇得腿軟時(shí),肯定希望有辦法來恢復(fù)這些數(shù)據(jù)。oracle就提供了一些強(qiáng)大的方法或機(jī)制,可以幫到有需要的你。
    2016-12-12
  • Oracle Linux 6.8安裝 mysql 5.7.17的詳細(xì)教程

    Oracle Linux 6.8安裝 mysql 5.7.17的詳細(xì)教程

    這篇文章主要介紹了Oracle Linux 6.8安裝 mysql 5.7.17的詳細(xì)教程,需要的朋友可以參考下
    2017-06-06
  • Oracle用戶密碼含有特殊字符導(dǎo)致無法登陸解決方法

    Oracle用戶密碼含有特殊字符導(dǎo)致無法登陸解決方法

    在客戶端上使用sqlplus用普通用戶可以登錄,但是system以及sys用戶均無法登錄,提示ORA-12154: TNS: 無法解析指定的連接標(biāo)識符,本文將提供詳細(xì)的解決方法,需要了解的朋友可以參考下
    2012-11-11
  • Oracle中備份表的簡單sql命令語句

    Oracle中備份表的簡單sql命令語句

    備份表的簡單sql命令想必有黑多的新手朋友們還是會忘記的即便是老手也不例外吧,下面與大家分享下具體的sql語句,希望對你有所幫助
    2013-05-05
  • oracle查看會話鎖定的所有對象代碼分享

    oracle查看會話鎖定的所有對象代碼分享

    oracle查看會話鎖定的所有對象
    2014-01-01
  • LINUX下Oracle數(shù)據(jù)導(dǎo)入導(dǎo)出的方法詳解

    LINUX下Oracle數(shù)據(jù)導(dǎo)入導(dǎo)出的方法詳解

    這篇文章主要介紹了LINUX下Oracle數(shù)據(jù)導(dǎo)入導(dǎo)出的方法,較為詳細(xì)的分析導(dǎo)出工具exp及導(dǎo)入工具imp的具體使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-12-12
  • PLSQL環(huán)境配置詳細(xì)圖文步驟

    PLSQL環(huán)境配置詳細(xì)圖文步驟

    PL/SQL是Oracle對行業(yè)標(biāo)準(zhǔn)SQL的過程性擴(kuò)展,下面這篇文章主要給大家介紹了關(guān)于PLSQL環(huán)境配置的詳細(xì)圖文步驟,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • 關(guān)于Oracle中SqlLoader的用法

    關(guān)于Oracle中SqlLoader的用法

    這篇文章主要介紹了關(guān)于Oracle中SqlLoader的用法,sqlldr是oracle的sql*loader工具,他可以把外部的文本格式數(shù)據(jù)導(dǎo)入到oracle的內(nèi)部表中,適用于不同數(shù)據(jù)庫之間的數(shù)據(jù)轉(zhuǎn)化遷移,需要的朋友可以參考下
    2023-07-07
  • 使用Oracle命令進(jìn)行數(shù)據(jù)庫備份與還原

    使用Oracle命令進(jìn)行數(shù)據(jù)庫備份與還原

    本文詳細(xì)講解了使用Oracle命令進(jìn)行數(shù)據(jù)庫備份與還原的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2021-12-12
  • oracle使用存儲過程將表數(shù)據(jù)以excel格式導(dǎo)出的操作方法

    oracle使用存儲過程將表數(shù)據(jù)以excel格式導(dǎo)出的操作方法

    雖然目前pl/sql developer等數(shù)據(jù)庫客戶端軟件都支持將表數(shù)據(jù)以excel格式導(dǎo)出,但是如果數(shù)據(jù)量大,需要等客戶端加載表數(shù)據(jù)等待很久,這篇文章給大家分享oracle使用存儲過程將表數(shù)據(jù)以excel格式導(dǎo)出的操作方法,需要的朋友可以參考下
    2024-07-07

最新評論