亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

PL/SQL 中用光標查詢多條記錄

2024-07-21 02:40:28
字體:
來源:轉載
供稿:網友
一、 什么是光標 Oracle 使用兩種光標:顯式光標和隱式光標。不管語句返回多少條紀錄, PL/SQL 為使用的每一條 UPDATE 、 DELETE 和 INSERT 等 SQL 命令隱式的聲明一個光標。(要治理 SQL 語句的處理,必須隱式的給它定義一個光標。)用戶聲明并使用顯示光標處理 SELECT 語句返回的多條記錄。顯示的定義光標一種結構,它使用戶能夠為特定的語句指定內存區域,以便以后使用。 二、 光標的作用 當 PL/SQL 光標查詢返回多行數據時,這些記錄組被稱為活動集。 Oracle 將這種活動集存儲在您創建的顯示定義的已命名的光標中。Oracle 光標是一種用于輕松的處理多行數據的機制,沒有光標, Oracle 開發人員必須單獨地、顯式地取回并治理光標查詢選擇的每一條記錄。 光標的另一項功能事,它包含一個跟蹤當前訪問的記錄的指針,這使您的程序能夠一次處理多條記錄。 三、 使用顯示光標的基本方法 步驟如下: 1 、聲明光標 聲明光標的語法如下: DECLARE cursor_name Is SELECT statement 其中, cursor_name 是您給光標指定的名稱; SELECT statement 是給光標活動集返回記錄的查詢。 聲明光標完成了下面兩個目的: 給光標命名; 將一個查詢與光標關聯起來。 值得注重的是,必須在 PL/SQL 塊的聲明部分聲明光標;給光標指定的名稱是一個未聲明的標識符,而不是一個 PL/SQL 變量,不能給光標名稱賦值,也不能將它用在表達式中。 PL/SQL 塊使用這個名稱來引用光標查詢。 例: DECLARE CURSOR c1 Is SELECT VIEW_NAME FROM ALL_VIEWS WHERE ROWNUM<=10 ; 另外還可以在光標定義語句中聲明光標的參數,例: CURSOR c1 ( view _nbr number ) Is SELECT VIEW_NAME FROM ALL_VIEWS WHERE ROWNUM<= view _nbr ; 光標參數只對相應的光標是可見的,不能在光標范圍之外引用該光標的參數。假如試圖這樣做, Oracle 將返回一個錯誤,指出該變量沒有定義。 2 、打開光標 打開光標的語法如下: OPEN cursor_name ; 其中 cursor_name 是您以前定義的光標名稱。 打開光標將激活查詢并識別活動集,可是在執行光標取回命令之前,并沒有真正取回記錄。 OPEN 命令還初始化了光標指針,使其指向活動集的第一條記錄。光標被打開后,直到關閉之前,取回到活動集的所有數據都是靜態的,換句話說,光標忽略所有在光標打開之后,對數據執行的 SQL DML 命令( INSERT 、 UPDATE 、 DELETE 和 SELECT )。因此只有在需要時才打開它,要刷新活動集,只需關閉并重新打開光標即可。 3 、從光標中取回數據 FETCH 命令以每次一條記錄的方式取回活動集中的記錄。通常將 FETCH 命令和某種迭代處理結合起來使用,在迭代處理中, FETCH 命令每執行一次,光標前進到活動集的下一條記錄。 FETCH 命令的語法: FETCH cursor_name INTO record_list ; 其中, cursor_name 是前面定義的光標的名稱; record_list 是變量列表,它接受活動集中的列。 FETCH 命令將活動集的結果放置到這些變量中。 執行 FETCH 命令后,活動集中的結果被取回到 PL/SQL 變量中,以便在 PL/SQL 塊中使用。每取回一條記錄,光標的指針就移向活動集的下一條記錄。 例: FETCH C1 INTO VNAME; WHILE C1%FOUND LOOP DBMS_OUTPUT.PUT_LINE(TO_CHAR(C1%ROWCOUNT)' 'VNAME);
END LOOP; 其中,使用屬性 '%FOUND' 使得當 FETCH 到達活動集的結尾時,不會引發異常。其它屬性及含義見下表: 屬性 含量 %FOUND 布爾型屬性,當最近一次該記錄時成功返回,則值為 TRUE %NOTFOUND 布爾型屬性,它的值總與 %FOUND 屬性的值相反 %ISOPEN 布爾型屬性,當光標是打開時返回 TRUE %ROWCOUNT 數字型屬性,返回已從光標中讀取的記錄數 屬性 含量 %FOUND 布爾型屬性,當最近一次該記錄時成功返回,則值為 TRUE %NOTFOUND 布爾型屬性,它的值總與 %FOUND 屬性的值相反 %ISOPEN 布爾型屬性,當光標是打開時返回 TRUE %ROWCOUNT 數字型屬性,返回已從光標中讀取的記錄數 4 、關閉光標 CLOSE 語句關閉以前打開的光標,使得活動集不確定。當用戶的程序或會話結束時, Oracle 隱式關閉光標。光標被關閉后,就不能對它執行任何操作了 , 否則將引發異常。 CLOSE 語句的語法是: CLOSE cursor_name ; 其中, cursor_name 是以前打開的光標的名稱。 完整的程序代碼如下: DECLARE CURSOR C1 IS SELECT VIEW_NAME FROM ALL_VIEWS WHERE ROWNUM<=10 ORDER BY VIEW_NAME; VNAME VARCHAR2(40); BEGIN OPEN C1; FETCH C1 INTO VNAME; WHILE C1%FOUND LOOP DBMS_OUTPUT.PUT_LINE(TO_CHAR(C1%ROWCOUNT)''VNAME); END LOOP; END; …… CLOSE C1; 四、 小結 光標是一種結構 , 能夠以一次一條記錄的方式處理多行查詢的結果 . 為每條 DML 語句創建隱式光標 , 而顯式光標是由用戶創建的 , 以便處理返回多條記錄的查詢。而且 , 通過消除反復地分析代碼 , 光標提高了代碼的處理速度。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品视频一区国模私拍| 欧美电影电视剧在线观看| 亚洲自拍小视频| 日韩美女写真福利在线观看| 亚洲欧洲午夜一线一品| 91麻豆桃色免费看| 性欧美暴力猛交69hd| 国产精品免费电影| 91在线高清免费观看| 欧美午夜片在线免费观看| 久久九九国产精品怡红院| 国产精品福利在线观看| 欧美大片免费看| 精品香蕉一区二区三区| 国产亚洲精品久久久久久777| 欧美激情视频在线观看| 亚洲精品自在久久| 欧美国产日韩一区二区在线观看| 欧美精品www在线观看| 久久久久久久久久久亚洲| 91免费欧美精品| 欧美激情精品久久久久久久变态| 国产激情综合五月久久| 福利视频导航一区| 97超级碰在线看视频免费在线看| 中文字幕日韩av综合精品| 久久久免费电影| 国产精品h片在线播放| 国产精品r级在线| 国产不卡精品视男人的天堂| 欧美麻豆久久久久久中文| 欧美大片在线看免费观看| 岛国精品视频在线播放| 精品国产一区二区三区久久久狼| 成人黄色av网| 欧美黑人xxxx| 九九热视频这里只有精品| 综合136福利视频在线| 亚洲网站在线播放| 成人激情视频在线| 欧美成人精品激情在线观看| 孩xxxx性bbbb欧美| 国产午夜精品全部视频在线播放| 欧美日韩国产一区二区| 日本成人免费在线| 欧美在线免费观看| 久久久久久久电影一区| 亚洲偷熟乱区亚洲香蕉av| 亚洲人成伊人成综合网久久久| 国产精品美女免费| 久久久久久av| 国产精品久久久| 亚洲欧美三级伦理| 欧美成人午夜剧场免费观看| 精品成人久久av| 国产999精品视频| 在线电影欧美日韩一区二区私密| 欧美电影免费观看高清| 97在线观看视频国产| 欧美wwwwww| 亚洲精品国产精品久久清纯直播| 欧美美最猛性xxxxxx| 日韩欧美有码在线| 亚洲天堂男人的天堂| 日韩在线观看免费全集电视剧网站| 亚洲亚裔videos黑人hd| 一区二区三区四区在线观看视频| 久久久天堂国产精品女人| 欧美亚洲伦理www| 成人a在线视频| 欧美日韩国产激情| 日韩高清免费观看| 亚洲国产精品99久久| 久久久精品中文字幕| 国产精品一区二区三区在线播放| 国产精品欧美久久久| 欧美成年人网站| 97国产在线视频| 国产精品av网站| 国产综合视频在线观看| 亚洲第一级黄色片| 美女久久久久久久久久久| 国产成人免费av电影| 日韩中文字幕在线精品| 亚洲成人1234| 97色在线播放视频| 欧美日韩免费一区| 久久久久久久久久久成人| 亚洲欧美中文日韩在线v日本| 欧美国产日韩在线| 欧美激情视频在线免费观看 欧美视频免费一| 国产精品久久久久久久电影| 亚洲男女性事视频| 中文字幕一区二区精品| 日本91av在线播放| 日韩一区二区三区国产| 国产欧美日韩亚洲精品| 97超级碰碰人国产在线观看| 欧美韩国理论所午夜片917电影| 日本韩国欧美精品大片卡二| 在线观看免费高清视频97| 一色桃子一区二区| 亚洲午夜av久久乱码| 中文字幕在线观看亚洲| 综合久久五月天| 久久久av电影| 91精品国产九九九久久久亚洲| 亚洲视频一区二区三区| 26uuu另类亚洲欧美日本老年| 久久在线免费视频| 国产97在线亚洲| 国产精品老女人精品视频| 日韩av在线电影网| 久久91亚洲人成电影网站| 成人a级免费视频| 久久久久久香蕉网| 成人激情视频在线播放| 日韩欧美亚洲范冰冰与中字| xvideos亚洲人网站| 欧美中在线观看| 国产成人精品日本亚洲| 国产精品亚洲精品| 亚洲va国产va天堂va久久| 国产亚洲欧美日韩美女| 性色av一区二区三区| www国产精品视频| 国产精品久久不能| 欧美日韩999| 日韩一区二区欧美| 97视频在线观看网址| 亚洲视频在线免费观看| 欧美视频国产精品| 91精品久久久久久久久久| 在线亚洲男人天堂| 欧美成人精品一区二区| 日韩激情第一页| 亚洲日韩欧美视频一区| 日韩av在线影视| 日韩欧美中文免费| 国产精品久久电影观看| 欧美成人午夜影院| 成人网在线免费看| 亚洲码在线观看| 在线观看精品自拍私拍| 精品一区二区三区电影| 国产69精品久久久久9| 国产欧美一区二区三区视频| 高清一区二区三区四区五区| 日本亚洲欧洲色| 欧美成年人网站| 日韩电影在线观看免费| 亚洲天堂色网站| 国产69精品99久久久久久宅男| 久久综合伊人77777尤物| 亚洲黄页网在线观看| 91精品国产91久久久久福利| 午夜欧美大片免费观看| 欧美成人精品一区二区| 成人h视频在线| 亚洲国产精品久久久久久| 91在线视频精品| 日韩视频欧美视频| 色悠悠国产精品| 操91在线视频|