日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

oracle 视图使用rownum,Oracle数据对象--视图

發(fā)布時間:2025/4/16 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 视图使用rownum,Oracle数据对象--视图 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、為什么使用視圖(1)限制數(shù)據(jù)的存取:用戶只能看到基表的部分信息。

(2)使得復(fù)雜的查詢變得容易:視圖中的數(shù)據(jù)可能來自多個表。

(3)使得數(shù)據(jù)相對比較獨立:從項目開發(fā)的角度,模塊對應(yīng)視圖,模塊包含多個表,模塊發(fā)生變化后只需修改相應(yīng)的視圖,對應(yīng)的表的結(jié)構(gòu)無需修改。

(4)代表對同一數(shù)據(jù)的不同視角:不同部門的員工只能看到本部門的信息。

2、創(chuàng)建視圖CREATE VIEW empvu10

AS SELECT empno, ename,

job

FROM emp1

WHERE deptno=30

/ (定義視圖的查詢中不能使用ORDER BY子句)

3、查詢視圖視圖定義的SELECT語句保存在LONG型的TEXT字段中。

使用SET LONG

150增加LONG型最大顯示寬度,默認為80

select * from user_views

/

語法說明

CREATE [OR

REPLACE] [FORCE|NOFORCE] VIEW view

[(alias[, alias]...)]

AS

subquery

[WITH CHECK OPTION [CONSTRAINT constraint]]

[WITH READ

ONLY];

OR REPLACE???????????? 如果視圖已存在,相當于修改視圖

FORCE | [NOFORCE]

無論基表是否存在都建立視圖 [只有基表存在能創(chuàng)建]

WITH CHECK OPTION

通過視圖執(zhí)行的INSERT和UPDATE操作不能創(chuàng)建該視圖檢索不到的數(shù)據(jù)行

WITH READ ONLY????? 禁止對視圖執(zhí)行DML操作

4、建立復(fù)雜的視圖

//不能通過修改視圖修改基表的數(shù)據(jù)

CREATE VIEW

dept_sum_vu

(dname,minsal,maxsal,avgsal)

AS SELECT

d.dname,MIN(e.sal),

MAX(sal),AVG(sal)

FROM emp e,dept d

WHERE

e.deptno=d.deptno

GROUP BY d.dname

/

數(shù)據(jù)來自多個表,查詢中使用了分組函數(shù)

5、WITH CHECK OPTION選項示例

CREATE OR REPLACE VIEW empvu20

AS SELECT *

FROM emp

WHERE

deptno=20

WITH CHECK OPTION CONSTRAINT empvu20_ck

/

查詢生成的視圖索引

select

constraint_name,constraint_type from user_constraints where

constraint_type='V'

/

通過視圖更新員工部門號

UPDATE empvu20

SET

deptno=10

WHERE empno=7902

/

UPDATE empvu20

*

ERROR at line

1:

ORA-01402: view WITH CHECK OPTION where-clause

violation

違反了約束,因為部門號更新為10后,該視圖不能再檢索到該行。

同樣,在該視圖上也不能insert非20號部門的員工。

6、TOP-N(利用內(nèi)聯(lián)視圖實現(xiàn))錯誤的???? (先得到3行,為這3行排序)

select

sal

from emp1

where rownum <= 3

order by sal desc

/

正確的

(先對所有數(shù)據(jù)排序,再取前三行)

select sal

from ( select sal from emp1 order by sal

desc)

where rownum < 4

/

7、視圖的DML操作含有如下情況,則不能刪除視圖中的數(shù)據(jù):

含有聚組函數(shù)

含有GROUP BY

子句

含有 DISTINCT 關(guān)鍵字

含有ROWNUM

這個偽列

含有如下情況,不能修改該視圖中的數(shù)據(jù):

上面提到的任何一種情況。

列是由表達式來進行定義的

含有如下情況,不能增加該視圖中的數(shù)據(jù):

上面提到的任何一種情況。

在基表中包含有

NOT NULL約束的列,然而該列并沒有在視圖中出現(xiàn)

原則:只要視圖中的數(shù)據(jù)不是來自基表的原始數(shù)據(jù),就不能對該數(shù)據(jù)做DML操作。

DML示例:建立視圖包含rownumcreate or replace view

e1_m_v

as

select ename, sal, hiredate from emp1

where

job='MANAGER'

and?? rownum < 3

/

對該視圖做DML操作

update e1_m_v set

sal=3000 where ename='BLAKE'

/

delete from e1_m_v where

ename='BLAKE'

/

ERROR at line 1:

ORA-01732: data manipulation operation

not legal on this view

總結(jié)

以上是生活随笔為你收集整理的oracle 视图使用rownum,Oracle数据对象--视图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文字幕乱码一二三区 | 芒果视频在线观看免费 | 99re6在线观看 | 91视频免费在线 | 日本特黄特黄刺激大片 | 少妇饥渴放荡91麻豆 | 在线欧美视频 | 欧美重口另类 | 在线观看视频亚洲 | 美女被男生免费视频 | 国产一区二区三区自拍 | 欧美日本另类 | 泽村玲子在线 | 公车乳尖揉捏酥软呻吟 | 日本少妇喂奶漫画 | 亚洲视频天天射 | 国产交换配乱淫视频免费 | 免费se99se | 乱老熟女一区二区三区 | 狠狠干夜夜骑 | 深夜福利免费视频 | 天天射网站 | 亚洲乱强伦 | 一级片日韩 | 日本欧美久久久久免费播放网 | 欧洲a级片 | 色网在线免费观看 | 看全黄大色黄大片美女人 | 99久久精 | 亚洲黄片一区二区 | 91黄视频在线观看 | 亚洲中文字幕无码爆乳av | 欧美日韩图片 | 久久精品视频在线播放 | 超碰人人草 | 男女视频在线观看免费 | 韩国伦理片在线播放 | 欧美日韩亚洲一区二区 | 日韩一区二区高清 | 激情的网站 | 亚洲爆乳无码精品aaa片蜜桃 | 好吊视频一区二区三区 | 99久久久无码国产精品衣服 | 国内外成人激情视频 | 在线看片网站 | 美女污污网站 | 精品国产一区二区三区无码 | 九九免费精品视频 | 日韩av二区| 亚洲性生活| 国产在线精品一区 | 6699嫩草久久久精品影院 | 少妇色欲网 | 国产一区二区精品在线观看 | 黄色大片在线看 | av网站在线免费观看 | 亚洲一二区在线 | 曰批免费视频播放免费 | 95国产精品 | 在线观看欧美 | 四虎永久免费地址 | 久久精品这里只有精品 | 久久久久久黄 | 91porny丨首页入口在线 | 国产精品视频第一页 | 天天天天躁天天爱天天碰2018 | 北条麻妃一区二区三区在线观看 | 亚洲激情视频一区 | 中文字幕天堂网 | porn麻豆| 国产视频一区在线 | 中文字幕无码日韩专区免费 | 中文字幕免费高清在线观看 | 亚洲区色 | 国产精品99久久久久久久女警 | 国产成人精品久久二区二区 | 中文人妻av久久人妻18 | 色爽| 久久久久免费看 | 青青久久久 | 青青免费在线视频 | 亚欧日韩av | 国产在线一区二区三区 | 超碰国产97 | 1000部国产精品成人观看 | 国产精品熟女久久久久久 | 四虎在线免费视频 | 一级理论片 | 亚洲美女视频网站 | 伊人成年网 | 午夜啊啊啊 | 中文字幕在线观看播放 | 欧美日韩一区二区三区四区五区 | 青春草在线视频免费观看 | 久色伊人 | 成人免费av| 久久久男人天堂 | av鲁丝一区鲁丝二区鲁丝 | 国产视频手机在线 |