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

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

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

前言

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

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

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

一、創(chuàng)建視圖

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

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

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

二、查詢(xún)、刪除視圖

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

查看視圖的語(yǔ)法:

select * from 視圖名;

刪除視圖的語(yǔ)法:

DROP VIEW 視圖名_V;

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

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

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

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

create or replace view aa_v 
as 
select f.deptno 部門(mén)編號(hào),f.dname 部門(mén)名稱(chēng) ,count(e.empno) 部門(mén)人數(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ò)請(qǐng)求的數(shù)據(jù)。

步驟二:查看視圖

select * from aa_v;

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

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

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

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

步驟二:查看視圖

select * from bb_v;

例三:視圖的修改

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

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;

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

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

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)建查詢(xún)視圖:

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; --查詢(xún)視圖就是查詢(xún)視圖中封裝的sql邏輯的內(nèi)容;

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

SELECT * FROM EMP_ENAME_V TWHERE T.EMPNO = 7369;

例六:視圖嵌套使用

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

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)建查詢(xún)視圖:

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會(huì)員內(nèi)容

總結(jié) 

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

相關(guān)文章

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

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

    相信大家無(wú)論是開(kāi)發(fā)、測(cè)試還是運(yùn)維過(guò)程中,都可能會(huì)因?yàn)檎`操作、連錯(cuò)數(shù)據(jù)庫(kù)、用錯(cuò)用戶(hù)、語(yǔ)句條件有誤等原因,導(dǎo)致錯(cuò)誤刪除、錯(cuò)誤更新等問(wèn)題。當(dāng)你捶胸頓足或嚇得腿軟時(shí),肯定希望有辦法來(lái)恢復(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用戶(hù)密碼含有特殊字符導(dǎo)致無(wú)法登陸解決方法

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

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

    Oracle中備份表的簡(jiǎn)單sql命令語(yǔ)句

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

    oracle查看會(huì)話(huà)鎖定的所有對(duì)象代碼分享

    oracle查看會(huì)話(huà)鎖定的所有對(duì)象
    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對(duì)行業(yè)標(biāo)準(zhǔn)SQL的過(guò)程性擴(kuò)展,下面這篇文章主要給大家介紹了關(guān)于PLSQL環(huán)境配置的詳細(xì)圖文步驟,文中通過(guò)圖文介紹的非常詳細(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ù)庫(kù)之間的數(shù)據(jù)轉(zhuǎn)化遷移,需要的朋友可以參考下
    2023-07-07
  • 使用Oracle命令進(jìn)行數(shù)據(jù)庫(kù)備份與還原

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

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

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

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

最新評(píng)論