![其它數(shù)據(jù)庫對象偽列_第1頁](http://file4.renrendoc.com/view/8d80dda5b2b63a51264d918669eba9f6/8d80dda5b2b63a51264d918669eba9f61.gif)
![其它數(shù)據(jù)庫對象偽列_第2頁](http://file4.renrendoc.com/view/8d80dda5b2b63a51264d918669eba9f6/8d80dda5b2b63a51264d918669eba9f62.gif)
![其它數(shù)據(jù)庫對象偽列_第3頁](http://file4.renrendoc.com/view/8d80dda5b2b63a51264d918669eba9f6/8d80dda5b2b63a51264d918669eba9f63.gif)
![其它數(shù)據(jù)庫對象偽列_第4頁](http://file4.renrendoc.com/view/8d80dda5b2b63a51264d918669eba9f6/8d80dda5b2b63a51264d918669eba9f64.gif)
![其它數(shù)據(jù)庫對象偽列_第5頁](http://file4.renrendoc.com/view/8d80dda5b2b63a51264d918669eba9f6/8d80dda5b2b63a51264d918669eba9f65.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Oracle開發(fā)實戰(zhàn)經(jīng)典第13章:其它數(shù)據(jù)庫對象 Oracle偽列北京魔樂科技軟件學(xué)院李興華本章目標了解ROWID的主要作用;掌握ROWNUM的使用,并且可以利用ROWNUM實現(xiàn)數(shù)據(jù)分頁;掌握Oracle 12C中的FETCH使用。Oracle偽列在Oracle數(shù)據(jù)庫之中為了實現(xiàn)完整的關(guān)系數(shù)據(jù)庫的功能,專門為用戶提供了許多的偽列,像之前在講解序列時所使用的“NEXTVAL”和“CURRVAL”就是兩個默認提供的操作偽列同時在之前使用的SYSDATE與SYSTIMESTAMP也屬于偽列(而想查詢使用的DUAL稱為偽表),這些數(shù)據(jù)偽列并不是用戶在建立數(shù)據(jù)庫對象時由用戶完成的,而是Oracle自動幫
2、助用戶建立的,用戶只需要按照要求使用即可,但是除了“NEXTVAL”和“CURRVAL”兩個偽列之外,還提供了兩個重要的偽列:ROWNUM、ROWID。ROWID偽列在數(shù)據(jù)表中每一行所保存的記錄,實際上Oracle都會默認為每條記錄分配一個唯一的地址編號,而這個地址編號就是通過ROWID進行表示的, ROWID本身是一個數(shù)據(jù)的偽列,所有的數(shù)據(jù)都利用ROWID進行數(shù)據(jù)定位。Oracle偽列 范例觀察ROWID的存在SELECT ROWID,deptno,dname,loc FROM dept ;ROWID組成:數(shù)據(jù)對象號(data object number)為AAAWec;相對文件號(rela
3、tive file number)為AAG;數(shù)據(jù)塊號(block number)為AAAAC2;數(shù)據(jù)行號(row number)為AAA;ROWID的操作函數(shù)No.函數(shù)名稱描述1DBMS_ROWID.rowid_object(ROWID)從一個ROWID之中,取得數(shù)據(jù)對象號2DBMS_ROWID.rowid_relative_fno(ROWID)從一個ROWID之中,取得相對文件號3DBMS_ROWID.rowid_block_number(ROWID)從一個ROWID之中,取得數(shù)據(jù)塊號4DBMS_ROWID.rowid_row_number(ROWID)從一個ROWID之中,取得數(shù)據(jù)行號Or
4、acle偽列 范例拆分ROWID,取數(shù)據(jù)SELECT ROWID ,DBMS_ROWID.rowid_object(ROWID) 數(shù)據(jù)對象號 ,DBMS_ROWID.rowid_relative_fno(ROWID) 相對文件號 ,DBMS_ROWID.rowid_block_number(ROWID) 數(shù)據(jù)塊號 ,DBMS_ROWID.rowid_row_number(ROWID) 數(shù)據(jù)行號,deptno,dname,loc FROM dept ;ROWNUM偽列ROWNUM表示的是一個數(shù)據(jù)行編號的偽列,它的內(nèi)容是在用戶查詢數(shù)據(jù)的時候,為用戶動態(tài)分配的一個數(shù)字(行號),下面首先通過如下的程序
5、來觀察一下ROWNUM的主要作用。Oracle偽列 范例查詢雇員編號、姓名、職位、基本工資、雇傭日期等信息并且顯示每條記錄的行號SELECT ROWNUM,empno,ename,job,sal,hiredate FROM emp ;Oracle偽列 范例查詢30部門的雇員編號、姓名、職位、基本工資、雇傭日期等信息并且顯示每條記錄的行號SELECT ROWNUM,empno,ename,job,sal,hiredate FROM emp WHERE deptno=30 ;Oracle偽列 范例列出薪金高于公司平均薪金的所有員工編號、姓名、基本工資、職位、雇傭日期,所在部門名稱、位置,公司的工資
6、等級,但是為了信息瀏覽方便,要求在每一行數(shù)據(jù)顯示前都增加一個行號。SELECT ROWNUM rn,e.empno,e.ename,e.sal,e.job,e.hiredate,d.dname,d.loc,s.gradeFROM emp e,dept d,salgrade sWHERE e.sal ( SELECT AVG(sal) FROM emp) AND e.deptno=d.deptno AND e.sal BETWEEN s.losal AND s.hisal ;ROWNUM作用ROWNUM除了可以自動的進行行號的顯示之外,也可以完成以下兩個常用操作:操作一:取出一個查詢的第一行記錄
7、;操作二:取出一個查詢的前N行記錄;Oracle偽列 范例查詢emp表中的第一行雇員信息SELECT * FROM emp WHERE ROWNUM=1 ;數(shù)據(jù)的分頁顯示分頁操作組成:數(shù)據(jù)顯示部分:主要是從數(shù)據(jù)表之中選出指定的部分數(shù)據(jù),需要ROWNUM偽列才可以完成;分頁控制部分:留給用戶的控制端,用戶只需要選擇指定的頁數(shù),那么應(yīng)用程序就會根據(jù)用戶的選擇,列出指定的部分數(shù)據(jù),相當(dāng)于控制了格式中的currentPage;分頁操作語法:SELECT * FROM (SELECT 列1 ,列2,.,ROWNUM rownum別名FROM 表名稱 別名WHERE ROWNUM (currentPage
8、(當(dāng)前所在頁) - 1) * lineSize(每頁顯示記錄行數(shù)) ;使用ROWNUM進行前N行數(shù)據(jù)查詢的分析查詢第一頁數(shù)據(jù)查詢第二頁數(shù)據(jù)Oracle偽列 范例顯示雇員表中前5條記錄SELECT * FROM (SELECT empno,ename,job,hiredate,sal,mgr,deptno,ROWNUM rn FROM emp WHERE ROWNUM0 ;Oracle偽列 范例顯示雇員表中的610條記錄SELECT * FROM (SELECT empno,ename,job,hiredate,sal,mgr,deptno,ROWNUM rn FROM emp WHERE RO
9、WNUM5 ;Oracle 12C新特性 FETCH在Oracle 12C之中為了方便數(shù)據(jù)的分頁顯示操作,專門提供了FETCH語句,使用此語句可以方便的取得指定范圍內(nèi)的操作數(shù)據(jù)。FETCH語句語法SELECT DISTINCT 分組字段1 AS 列別名 , 分組字段2 AS 列別名 , FROM 表名稱1 表別名1 , 表名稱2 表別名2 .WHERE 條件(s) GROUP BY 分組字段1 , 分組字段2 , .HAVING 過濾條件(s)ORDER BY 排序字段 ASC|DESC FETCH FIRST 行數(shù) | OFFSET 開始位置 ROWS FETCH NEXT 個數(shù) | FET
10、CH NEXT 百分比 PERCENT ROW ONLY此語句有三種使用方式:取得前N行紀錄:FETCH FIRST 行數(shù) ROW ONLY;取得指定范圍的紀錄:OFFSET 開始位置 ROWS FETCH NEXT 個數(shù) ROWS ONLY;按照百分比取得紀錄:FETCH NEXT 百分比 PERCENT ROWS ONLY。Oracle偽列 范例取得emp表中的前5行紀錄SELECT * FROM emp FETCH FIRST 5 ROW ONLY;Oracle偽列 范例為數(shù)據(jù)排序,取得前5行紀錄SELECT * FROM emp ORDER BY sal DESC FETCH FIRST 5 ROW ONLY;Oracle偽列 范例取得表中45條紀錄SELECT * FROM emp ORDER BY sal DESC OFFSET 3 ROWS FETCH NEXT 2 ROWS O
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 水資源管理服務(wù)行業(yè)智能化水資源開發(fā)利用方案
- 2025年重慶貨運從業(yè)資格證試題
- 2024年領(lǐng)軍高考物理一輪復(fù)習(xí)專題11.3機械能提高訓(xùn)練含解析
- 2024年新教材高中生物單元素養(yǎng)評價二含解析新人教版必修2
- 2024-2025學(xué)年高中歷史課下能力提升二十五工業(yè)革命時代的浪漫情懷含解析人民版必修3
- 湘師大版道德與法治九年級上冊5.2.2《公平正義促和諧》聽課評課記錄
- 多人合伙經(jīng)營合同范本
- 電子商務(wù)半年工作總結(jié)
- 委托出租鋪面協(xié)議
- 特種設(shè)備委托檢驗檢測協(xié)議書范本
- 2024年09月2024年中國農(nóng)業(yè)發(fā)展銀行總行部門秋季校園招聘(22人)筆試歷年參考題庫附帶答案詳解
- 2025年北京生命科技研究院招聘筆試參考題庫含答案解析
- 銀行金融機構(gòu)銀行金融服務(wù)協(xié)議
- GB/T 27697-2024立式油壓千斤頂
- 《消防機器人相關(guān)技術(shù)研究》
- 2024年考研政治真題及答案
- 【直播薪資考核】短視頻直播電商部門崗位職責(zé)及績效考核指標管理實施辦法-市場營銷策劃-直播公司團隊管理
- 項目設(shè)計報告范文高中
- 《千年古村上甘棠》課件
- 部編版小學(xué)語文二年級下冊電子課文《小馬過河》
- 《醫(yī)療機構(gòu)工作人員廉潔從業(yè)九項準則》專題解讀
評論
0/150
提交評論