成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > Oracle 中 table 函數(shù)的應(yīng)用淺析

Oracle 中 table 函數(shù)的應(yīng)用淺析

熱門(mén)標(biāo)簽:區(qū)域地圖標(biāo)注怎么設(shè)置 上海網(wǎng)絡(luò)外呼系統(tǒng) 電話機(jī)器人那種好 外呼系統(tǒng)好點(diǎn)子 理財(cái)產(chǎn)品電銷機(jī)器人 百度地圖標(biāo)注飯店位置怎么 南通電銷外呼系統(tǒng)哪家強(qiáng) 地圖標(biāo)注的坐標(biāo)點(diǎn) 百度地圖標(biāo)注注解

表函數(shù)可接受查詢語(yǔ)句或游標(biāo)作為輸入?yún)?shù),并可輸出多行數(shù)據(jù)。該函數(shù)可以平行執(zhí)行,并可持續(xù)輸出數(shù)據(jù)流,被稱作管道式輸出。應(yīng)用表函數(shù)可將數(shù)據(jù)轉(zhuǎn)換分階段處理,并省去中間結(jié)果的存儲(chǔ)和緩沖表。

1. 用游標(biāo)傳遞數(shù)據(jù)

利用游標(biāo) REF CURSOR 可將數(shù)據(jù)集(多行記錄)傳遞到PL/SQL函數(shù):

SELECT *
 FROM TABLE (myfunction (CURSOR (SELECT *
         FROM mytab)));  

2. 利用兩個(gè)實(shí)體化視圖(或表)作為樣板數(shù)據(jù)

CREATE MATERIALIZED VIEW sum_sales_country_mv
BUILD IMMEDIATE
REFRESH COMPLETE
ENABLE QUERY REWRITE
AS
SELECT SUBSTR (s.calendar_month_desc, 1, 4) YEAR, c.country_id country,
   SUM (sum_amount_sold) sum_amount_sold
 FROM sum_sales_month_mv s, customers c
 WHERE s.cust_id = c.cust_id
  AND c.country_id IN ('US', 'UK', 'FR', 'ES', 'JP', 'AU')
GROUP BY SUBSTR (s.calendar_month_desc, 1, 4), c.country_id
CREATE MATERIALIZED VIEW sum_es_gend_mv
BUILD DEFERRED
REFRESH FAST
ENABLE QUERY REWRITE
AS
SELECT SUBSTR (s.calendar_month_desc, 1, 4) YEAR,
   s.calendar_month_desc cal_month, c.cust_gender,
   SUM (sum_amount_sold) sum_amount_sold
 FROM sum_sales_month_mv s, customer c
 WHERE s.cust_id = c.cust_id
  AND c.country_id = 'ES'
  AND sunstr (s.calendar_month_desc, 1, 4) = '2000'
GROUP BY SUBSTR (s.calendar_month_desc, 1, 4),
   s.calendar_month_desc,
   c.cust_gender;

3. 定義對(duì)象類型和基于對(duì)象類型的表類型

定義對(duì)象類型并且為進(jìn)一步引用做好準(zhǔn)備。

(1)定義對(duì)象類型:TYPE sales_country_t

CREATE MATERIALIZED VIEW sum_es_gend_mv
BUILD DEFERRED
REFRESH FAST
ENABLE QUERY REWRITE
AS
SELECT SUBSTR (s.calendar_month_desc, 1, 4) YEAR,
   s.calendar_month_desc cal_month, c.cust_gender,
   SUM (sum_amount_sold) sum_amount_sold
 FROM sum_sales_month_mv s, customer c
 WHERE s.cust_id = c.cust_id
  AND c.country_id = 'ES'
  AND sunstr (s.calendar_month_desc, 1, 4) = '2000'
GROUP BY SUBSTR (s.calendar_month_desc, 1, 4),
   s.calendar_month_desc,
   c.cust_gender;

(2)定義表類型:TYPE SUM_SALES_COUNTRY_T_TAB

CREATE TYPE sum_sales_country_t_tab AS TABLE OF sales_country_t;

(3)定義對(duì)象類型:TYPE sales_gender_t

CREATE TYPE sales_gender_t AS OBJECT (
 YEAR    VARCHAR2 (4),
 country_id  CHAR (2),
 cust_gender  CHAR (1),
 sum_amount_sold NUMBER
);

(4)定義表類型:TYPE SUM_SALES_GENDER_T_TAB

CREATE TYPE sum_sales_gender_t_tab AS TABLE OF sales_gender_t;

(5)定義對(duì)象類型:TYPE sales_roll_t

CREATE TYPE sales_roll_t AS OBJECT (
 channel_desc  VARCHAR2 (20),
 country_id  CHAR (2),
 sum_amount_sold NUMBER
);

(6)定義表類型:TYPE SUM_SALES_ROLL_T_TAB

CREATE TYPE sum_sales_roll_t_tab AS TABLE OF sales_roll_t;

(7)檢查一下建立的類型

SELECT object_name, object_type, status
 FROM user_objects
 WHERE object_type = 'TYPE';

4. 定義包:Create package and define REF CURSOR

CREATE OR REPLACE PACKAGE cursor_pkg
I TYPE sales_country_t_rec IS RECORD (
  YEAR    VARCHAR (4),
  country   CHAR (2),
  sum_amount_sold NUMBER
 );
 TYPE sales_gender_t_rec IS RECORD (
  YEAR    VARCHAR2 (4),
  country_id  CHAR (2),
  cust_gender  CHAR (1),
  sum_amount_sold NUMBER
 );
 TYPE sales_roll_t_rec IS RECORD (
  channel_desc  VARCHAR2 (20),
  country_id  CHAR (2),
  sum_amount_sold NUMBER
 );
 TYPE sales_country_t_rectab IS TABLE OF sales_country_t_rec;
 TYPE sales_roll_t_rectab IS TABLE OF sales_roll_t_rec;
 TYPE strong_refcur_t IS REF CURSOR
  RETURN sales_country_t_rec;
 TYPE row_refcur_t IS REF CURSOR
  RETURN sum_sales_country_mv%ROWTYPE;
 TYPE roll_refcur_t IS REF CURSOR
  RETURN sales_roll_t_rec;
 TYPE refcur_t IS REF CURSOR;
END corsor_pkg;

5. 定義表函數(shù)

(1)定義表函數(shù):FUNCTION Table_Ref_Cur_Week

CREATE OR REPLACE FUNCTION table_ref_cur_week (cur CURSOR.refcur_t)
 RETURN sum_sales_country_t_tab
IS
 YEAR    VARCHAR (4);
 country   CHAR (2);
 sum_amount_sold NUMBER;
 objset   sum_sales_country_t_tab := sum_sales_country_t_tab ();
 i     NUMBER     := 0;
BEGIN
 LOOP
-- Fetch from cursor variable
  FETCH cur
  INTO YEAR, country, sum_amount_sold;
  EXIT WHEN cur%NOTFOUND;
      -- exit when last row is fetched
-- append to collection
  i := i + 1;
  objset.EXTEND;
  objset (i) := sales_country_t (YEAR, country, sum_amount_sold);
 END LOOP;
 CLOSE cur;
 RETURN objset;
END;
/

(2)定義表函數(shù):FUNCTION Table_Ref_Cur_Strong

CREATE OR REPLACE FUNCTION table_ref_cur_strong (cur cursor_pkg.strong_refcur_t)
 RETURN sum_sales_country_t_tab PIPELINED
IS
 YEAR    VARCHAR (4);
 country   CHAR (2);
 sum_amount_sold NUMBER;
 i     NUMBER  := 0;
BEGIN
 LOOP
  FETCH cur
  INTO YEAR, country, sum_amount_sold;
  EXIT WHEN cur%NOTFOUND;     -- exit when last row fetched
  PIPE ROW (sales_country_t (YEAR, country, sum_amount_sold));
 END LOOP;
 CLOSE cur;
 RETURN;
END;
/

(3)定義表函數(shù):FUNCTION Table_Ref_Cur_row

CREATE OR REPLACE FUNCTION table_ref_cur_row (cur cursor_pkg.row_refcur_t)
 RETURN sum_sales_country_t_tab PIPELINED
IS
 in_rec cur%ROWTYPE;
 out_rec sales_country_t := sales_country_t (NULL, NULL, NULL);
BEGIN
 LOOP
  FETCH cur
  INTO in_rec;
  EXIT WHEN cur%NOTFOUND;    -- exit when last row is fetched
  out_rec.YEAR := in_rec.YEAR;
  out_rec.country := in_rec.country;
  out_rec.sum_amount_sold := in_rec.sum_amount_sold;
  PIPE ROW (out_rec);
 END LOOP;
 CLOSE cur;
 RETURN;
END;
/

(4)定義表函數(shù):FUNCTION Gender_Table_Ref_Cur_Week

CREATE OR REPLACE FUNCTION gender_table_ref_cur_week (cur cursor_pkg.refcur_t)
 RETURN sum_sales_gender_t_tab
IS
 YEAR    VARCHAR2 (4);
 country_id  CHAR (2);
 cust_gender  CHAR (1);
 sum_amount_sold NUMBER;
 objset   sum_sales_gender_t_tab := sum_sales_gender_t_tab ();
 i     NUMBER     := 0;
BEGIN
 LOOP
  FETCH cur
  INTO YEAR, country_id, cust_gender, sum_amount_sold;
  EXIT WHEN cur%NOTFOUND;    -- exit when last row is fetched
  i := i + 1;
  objset.EXTEND;
  objset (i) :=
   sum_sales_gender_t (YEAR, country_id, cust_gender, sum_amount_sold);
 END LOOP;
 CLOSE cur;
 RETURN objset;
END;
/

6. 調(diào)用表函數(shù)

下列 SQL 查詢語(yǔ)句調(diào)用已被定義的表函數(shù)。

SELECT *
 FROM TABLE (table_ref_cur_week (CURSOR (SELECT *
           FROM sum_sales_country_mv)));
SELECT *
 FROM TABLE (table_ref_cur_strong (CURSOR (SELECT *
            FROM sum_sales_country_mv)));
SELECT *
 FROM TABLE (table_ref_cur_row (CURSOR (SELECT *
           FROM sum_sales_country_mv)));
SELECT *
 FROM TABLE (table_ref_cur_week (CURSOR (SELECT *
           FROM sum_sales_country_mv
           WHERE country = 'AU')));

以上所述是小編給大家介紹的Oracle 中 table 函數(shù)的應(yīng)用淺析,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • Oracle Table Demo語(yǔ)句應(yīng)用介紹
  • oracle中變長(zhǎng)數(shù)組varray,嵌套表,集合使用方法
  • sql – Oracle中匿名TABLE/VARRAY類型示例詳解

標(biāo)簽:海東 昭通 百色 寧波 紹興 中衛(wèi) 自貢 遼源

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Oracle 中 table 函數(shù)的應(yīng)用淺析》,本文關(guān)鍵詞  Oracle,中,table,函數(shù),的,應(yīng)用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Oracle 中 table 函數(shù)的應(yīng)用淺析》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Oracle 中 table 函數(shù)的應(yīng)用淺析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    超级碰碰久久| 国产精品久久久久秋霞鲁丝| 欧美精品导航| 国产精品区一区二| 综合电影一区二区三区| 国精品人妻无码一区二区三区喝尿| 亚洲乱码一区| 黄色成人精品网站| 国产免费黄色大片| 久久精品免费在线观看| 最新欧美精品一区二区三区| 日韩av在线不卡| 男人免费av| 盗摄精品av一区二区三区| 色综合天天综合在线视频| 欧美国产第二页| 九九久久电影| 一级特黄aaa大片| 免费日韩av片| 欧美日韩裸体免费视频| 91国产高清在线| 亚洲人成77777在线观看网| 四虎国产精品免费久久| 欧美中文一区二区| 国产黄色大片免费看| 美女视频免费观看网站在线| 亚洲日产国产精品| 亚洲精品www久久久久久| 久久综合成人精品亚洲另类欧美| 国产日韩欧美综合精品| 久久电影tv| 久久精品动漫| 亚洲先锋影音| 精品国产一级毛片| 中文字幕求饶的少妇| 国产一级淫片久久久片a级| 国产成人在线视频免费播放| 99香蕉国产精品偷在线观看| va视频在线观看| 久久久久久av无码免费网站下载| 99久久婷婷国产综合精品电影| 欧美日韩久久久一区| av电影院在线看| 精品久久久国产精品999| 青娱乐一区二区| 免费成人av电影| 久久久久久久美女| 欧美国产国产综合| 欧美自拍偷拍午夜视频| wwwjizzjizzcom| 影音先锋中文一区| 亚洲色图另类图片| 欧美成人精品一区二区免费看片| 国产亚洲日本欧美韩国| 日本va欧美va欧美va精品| 亚洲成人黄色在线观看| 91麻豆精品国产91久久久久推荐资源| 91精品亚洲一区在线观看| 美女国产一区二区| 国产福利91精品一区二区三区| 国产丝袜在线观看视频| 久热精品在线观看视频| 国产在线黄色片| 免费永久网站黄欧美| 老司机精品影院| 欧美日免费三级在线| 国产黄色一级电影| 欧美一区二区啪啪| 一级性生活免费视频| 中文写幕一区二区三区免费观成熟| 欧美一级二级在线观看| 影音先锋久久资源网| 高清欧美日韩| 91亚洲精品视频在线观看| 97人人澡人人爽91综合色| 国产一级片91| 亚洲人的天堂男人爽爽爽| 精品捆绑调教一区二区三区| 欧美制服第一页| 最新国产黄色网址| 涩多多在线观看| 中文字字幕一区二区三区四区五区| 中文字幕一区二区视频| 天天干天天草天天射| 黑粗硬长欧美在线视频免费的| 国产精品一区二区三区免费视频| 精品一区电影国产| 国产成人精品一区二区三区四区| 欧美床上激情在线观看| 久久综合久久综合久久| 5g影院5g电影天天爽快| av在线免费观看网站| 色综合久久久久久久久五月| 最新国产黄色网址| 亚洲国产精品专区久久| 一本一本久久a久久综合精品蜜桃| 国产精品美女久久| 国产a级黄色片| 日韩成人精品一区| 婷婷综合伊人| 欧美亚洲国产怡红院影院| 午夜福制92视频| 亚洲高清资源| 精品视频在线免费| 秘密影院久久综合亚洲综合| 蜜桃在线一区二区三区精品| 黄漫在线观看| 97最新国自产拍视频在线完整在线看| 国产美女精品| 68精品国产免费久久久久久婷婷| 亚洲三级在线免费| 黄页网站在线观看| 国产免费麻豆视频| 国产精品电影一区二区| 国产精品午夜电影| 国模无码国产精品视频| av中文天堂在线| 国产精品99久久久久久似苏梦涵| 欧洲精品久久久久毛片完整版| 丰满少妇一区二区| 狠狠色伊人亚洲综合网站l| 日韩亚洲第一页| 欧美亚洲人成在线| 亚洲精品乱码| 91精品国产免费久久久久久| jizzjizz欧美69巨大| 女人扒开屁股爽桶30分钟| 成年人黄色网址| 亚洲欧美激情在线观看| 欧美精品一区二区三区精品| 另类视频欧美| 欧美丰满熟妇bbbbbb百度| 欧美中文字幕不卡| 国产日韩精品视频一区二区三区| 97精品国产aⅴ7777| 97国产suv精品一区二区62| 国产精品久久国产精麻豆96堂| 成人欧美在线| 九色国产蝌蚪视频| 羞羞视频在线免费看| 婷婷激情综合五月天| 天堂va久久久噜噜噜久久va| 精品偷拍各种wc美女嘘嘘| 亚洲啪啪aⅴ一区二区三区9色| 日韩伦理在线一区| 啊v在线视频| 中文字幕55页| 91在线国产剧情| 自拍偷拍精选| 国产小视频在线高清播放| 久久精品国产99久久99久久久| 加勒比av在线播放| 色综久久综合桃花网| 91精品婷婷国产综合久久竹菊| 欧美亚州一区二区三区| 精品福利免费观看| 日韩av成人高清| 久久91视频| 久久久久久久国产精品影院| av电影在线地址| 四虎永久在线高清国产精品| 精品久久久久久无码中文野结衣| 欧美一级小视频| 欧美怡红院视频| 最近2018中文字幕免费在线视频| 亚洲无限av看| 手机在线观看国产精品| 亚洲欧美另类一区| 国产成人午夜视频| 国模无码大尺度一区二区三区| 大伊香蕉精品在线品播放| 三上悠亚在线免费观看| 日本高清久久久| 中文一区二区| 在线精品观看国产| 影音先锋国产在线资源| 欧美一区二区三区精美影视| 无套内谢丰满少妇中文字幕| 黄色国产网站在线播放| 在线观看的黄色网址| 国产高清不卡无码视频| 亚洲综合一区在线| 影音先锋中文在线视频| aaa级黄色片| 欧美激情视频一区| 成人在线免费观看| 日本中文字幕在线一区| 二区三区在线| 91香蕉嫩草影院入口| 日本不卡二三区| 人人爽香蕉精品| 三级短视频在线| 猫咪成人在线观看| 久久天天做天天爱综合色| 色婷婷成人网| 99久久亚洲精品日本无码| av日韩在线看| 色偷偷91综合久久噜噜| 日本午夜视频| 久久www免费人成看片高清| 26uuu久久天堂性欧美| 在线观看中文字幕视频| 免费看污片的软件| 一卡二卡在线观看| 亚洲综合一区中| 日韩欧美亚洲天堂| 狠狠入ady亚洲精品经典电影| 日韩vs国产vs欧美| 久热国产视频| 亚洲中文字幕在线一区| 国产一二三四区在线| 亚洲第一黄网| 亚洲成a人v欧美综合天堂| 一本色道久久综合亚洲精品不卡| 一区二区三区四区五区精品视频| a在线观看免费| a天堂中文在线官网在线| 欧美日韩大陆在线| 麻豆视频免费看| 欧洲永久精品大片ww免费漫画| 亚洲国产欧美在线人成| 91网站免费视频| 国产亚洲一区二区三区在线播放| www.97视频| 亚洲一区二区三区四区在线免费观看| 免费看黄资源大全高清| 91精品国产一区二区三区蜜臀| 亚洲欧美中文字幕在线观看| 久久综合网色—综合色88| 精品一区二区成人免费视频| 国产主播喷水一区二区| 先锋影音一区二区| 黄色网页在线播放| 亚洲欧美在线网| 国产成人av一区二区| 国产精品69一区二区三区| 看黄在线观看| 黑人一区二区三区四区五区| 亚欧美中日韩视频| 久激情内射婷内射蜜桃| 污网站免费看| 性无码专区无码| 欧美三级电影在线观看| 欧美尿孔扩张虐视频| 成人的网站免费观看| 黄色成人免费看| 日韩电影中文 亚洲精品乱码| 免费成人黄色网| 精品粉嫩aⅴ一区二区三区四区| 日韩大片免费观看视频播放| 亚洲成人精品视频| 91激情五月电影| 日韩免费观看av| 91性高潮久久久久久久| 91吃瓜网在线观看| 欧美久久视频| 亚洲一区不卡在线| av免费在线网址| 国产浪潮av性色av小说| 特大黑人巨人吊xxxx| 欧美日韩在线观看一区二区三区| 亚洲天堂2020| 中文字幕在线观看日| 色哟哟国产精品色哟哟| 欧美日韩一区二区电影| 亚洲男男gay视频| 夜夜骚av一区二区三区| 手机在线成人免费视频| 成人全视频在线观看在线播放高清| a日韩av网址| 国产午夜亚洲精品理论片色戒| 一区二区欧美视频| 菠萝菠萝蜜在线视频免费观看| 亚洲欧洲日产国码av系列天堂| 欧美一级特黄aaaaaa在线看片| 久久66热re国产毛片基地| 性欧美videohd高精| 精品免费视频一卡2卡三卡4卡不卡| 夜夜嗨一区二区三区| 日韩在线免费视频观看| 无码国产精品久久一区免费| a级毛片免费| 色狠狠一区二区三区香蕉| 国产精品麻豆成人av电影艾秋| 97精品国产97久久久久久免费| 色网址在线观看| 91传媒在线观看| 国产在线观看91一区二区三区| 欧美一卡在线观看| 好吊色免费视频| 欧美精品卡一卡二| 亚洲一级电影视频| 1区2区3区国产精品| 一级片在线免费播放| 久草视频免费看| 91国内揄拍国内精品对白| 91成人福利社区| 免费黄漫在线观看| 日韩成人午夜| 黄色av免费观看| 中老年在线免费视频| 无码国产精品一区二区色情男同| 国内拍拍自拍视频在线观看| 欧美性xxxxxx少妇| 日韩欧美电影一区二区| 亚洲污视频在线观看| 国产区一区二区三区| 色婷婷综合久久久中文一区二区| gogogo高清在线观看一区二区| 日韩一区二区三区不卡| 美女网站免费看| 三级全黄的视频在线观看| 欧美人成在线观看| 日本大片免费看| 亚洲国产另类精品专区| 国产精品嫩草影视| 6080国产精品| 免费毛片大全| 奇米777影视成人四色| 成人精品视频一区二区| 日韩国产第一页| 午夜剧场在线免费观看| 亚洲成人天堂| 九九九九精品九九九九| 国产亚洲第一区| 香蕉久久免费影视| 日本高清不卡一区二区三区视频| 欧美日韩国产黄色|