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

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


咨詢(xún)
建站咨詢(xún)
