新聞中心
Oracle游標(biāo)表達(dá)式是Oracle數(shù)據(jù)庫中的重要概念,下面就為您詳細(xì)介紹Oracle游標(biāo)表達(dá)式和表函數(shù)方面的知識(shí),供您參考學(xué)習(xí)之用。

站在用戶的角度思考問題,與客戶深入溝通,找到冷水江網(wǎng)站設(shè)計(jì)與冷水江網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋冷水江地區(qū)。
Oracle游標(biāo)表達(dá)式(有時(shí)稱為游標(biāo)子隊(duì)列)是 SQL 語言的一個(gè)元素,在 Oracle9i 之前,SQL 和某些程序設(shè)計(jì)環(huán)境(但不包括 PL/SQL)支持游標(biāo)表達(dá)式。Oracle9i 引入了 PL/SQL 對游標(biāo)表達(dá)式的支持。例如,可以在打開 PL/SQL 游標(biāo)的 SELECT 語句中使用游標(biāo)表達(dá)式,并在之后進(jìn)行適當(dāng)?shù)目刂?。它也可以作?PL/SQL 過程或函數(shù)的實(shí)參來使用,這與表函數(shù)結(jié)合具有非常大的意義。
Oracle9i 之前的版本也支持表函數(shù)(以初步的形式),而在 Oracle9i 中作了許多重大改進(jìn)?,F(xiàn)在可以編寫表函數(shù)來將行一經(jīng)計(jì)算就以流水線方式立即發(fā)送,極大地改善了 first rows 示例中的響應(yīng)時(shí)間。表函數(shù)的編寫現(xiàn)在可以做到接收 SELECT 語句作為輸入,允許將任意數(shù)量的變換以菊花鏈形式串接起來,避免了存儲(chǔ)中間結(jié)果的需要。而且也可以編寫表函數(shù),使它的計(jì)算并行進(jìn)行,從而利用 Oracle 的并行查詢機(jī)制。
能夠并行執(zhí)行表函數(shù)意味著現(xiàn)在無需序列化,就可能在數(shù)據(jù)倉庫應(yīng)用程序的提取、轉(zhuǎn)換和加載 (aka ETL) 階段利用 PL/SQL 的功能。
游標(biāo)變量 — 概括
Oracle9i 從由本地動(dòng)態(tài) SQL 值的游標(biāo)變量批量獲取的增強(qiáng)功能
在 PL/SQL 中使用游標(biāo)表達(dá)式
使用游標(biāo)表達(dá)式作為 PL/SQL 函數(shù)的實(shí)參
"YOUNG MANAGERS" 示例
表函數(shù) — 概括
流水線表函數(shù) — Oracle9i 新增
從一個(gè)表函數(shù)輸送數(shù)據(jù)到下一個(gè)表函數(shù) — Oracle9i新增
再次訪問 "Young Managers" 示例 — 表函數(shù)方法
Fanout:利用邊界效應(yīng)使用表函數(shù)
表函數(shù)并行執(zhí)行 — Oracle9i新增
基于模式級(jí)別類型的表函數(shù)語法
當(dāng)編寫表函數(shù)返回模式級(jí)別類型時(shí),調(diào)用它所需的語法稍微有些冗長。為完整起見,在示例代碼中對其進(jìn)行示范。
表函數(shù)和游標(biāo)表達(dá)式的商務(wù)利益
游標(biāo)表達(dá)式允許在兼容查詢中為重用進(jìn)行邏輯封裝,這改善了開發(fā)人員的生產(chǎn)率和應(yīng)用可靠性。
表函數(shù)實(shí)現(xiàn)了功能的改善,允許在 SELECT 子句的 FROM 列表中調(diào)用來自任意外部數(shù)據(jù)源的字節(jié)組集合和由任意計(jì)算合成的字節(jié)組集合。為方便起見,它們可以用來定義 VIEW,從而產(chǎn)生了新的功能。
表函數(shù)可以將行作為 VIEW 發(fā)送 — 這些行來自任意的源于 Oracle 表(因此包括別的表函數(shù))的復(fù)雜 PL/SQL 變換 — 并且無需存儲(chǔ)計(jì)算后的行。這提高了速度和可伸縮性。并改善了開發(fā)人員的生產(chǎn)率和應(yīng)用可靠性。
表函數(shù)的輸入?yún)?shù)使 VIEW 可參數(shù)化,更進(jìn)一步發(fā)揮了 VIEW 的作用,這提高了代碼重用性從而改善了開發(fā)人員的生產(chǎn)率和應(yīng)用可靠性。
一個(gè)具有參考游標(biāo)輸入?yún)?shù)的表函數(shù)可以作為數(shù)據(jù)源和另一個(gè)表函數(shù)一起被調(diào)用。因而表函數(shù)可以以菊花鏈形式串接起來,從而允許模塊化程序設(shè)計(jì)并因此使程序設(shè)計(jì)更容易,并且改善了重用性和應(yīng)用程序強(qiáng)健性。
表函數(shù)可以并行執(zhí)行,提高了速度和可伸縮性。結(jié)合菊花鏈特性,使得表函數(shù)尤其適合于執(zhí)行提取、轉(zhuǎn)換和加載操作的數(shù)據(jù)倉庫應(yīng)用程序。
Fanout(來自表函數(shù)中自主事務(wù)的 DML)對數(shù)據(jù)倉庫應(yīng)用程序添加了特別值得關(guān)注的功能。
表函數(shù)允許對存儲(chǔ)在內(nèi)嵌表中的數(shù)據(jù)如同關(guān)聯(lián)存儲(chǔ)一樣來查詢,也允許關(guān)聯(lián)存儲(chǔ)的數(shù)據(jù)如作為內(nèi)嵌表存儲(chǔ)的數(shù)據(jù)一樣來查詢。 (在多層集合代碼示例中給出的賽跑運(yùn)動(dòng)員訓(xùn)練記錄示例中對此進(jìn)行示范。)這允許數(shù)據(jù)持續(xù)存儲(chǔ)格式與訪問數(shù)據(jù)的應(yīng)用程序的設(shè)計(jì)之間保持真正的獨(dú)立。(表函數(shù)上可以定義 VIEW,在 VIEW 上可以創(chuàng)建 INSTEAD OF 觸發(fā)器來完成畫面。)
【編輯推薦】
Oracle存儲(chǔ)過程的使用實(shí)例
Oracle命令行自定義編輯器vi
oracle命令行登錄的實(shí)現(xiàn)
Oracle查詢表空間使用情況
Oracle創(chuàng)建序列的語法
網(wǎng)頁題目:Oracle游標(biāo)表達(dá)式和表函數(shù)
當(dāng)前路徑:http://www.dlmjj.cn/article/djpcocp.html


咨詢
建站咨詢
