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

主頁 > 知識庫 > Oracle游標(biāo)的使用實(shí)例詳解

Oracle游標(biāo)的使用實(shí)例詳解

熱門標(biāo)簽:海南400電話哪里辦理 呼倫貝爾智能手機(jī)地圖標(biāo)注 南寧人工智能電銷機(jī)器人費(fèi)用 安陽外呼系統(tǒng)免費(fèi) 濟(jì)南地圖標(biāo)注公司 分布式呼叫中心 圖像地圖標(biāo)注 貴陽電話外呼系統(tǒng)哪家好 400電話是不是免費(fèi)申請

什么是游標(biāo)?

①從表中檢索出結(jié)果集,從中每次指向一條記錄進(jìn)行交互的機(jī)制。

②關(guān)系數(shù)據(jù)庫中的操作是在完整的行集合上執(zhí)行的。

由 SELECT 語句返回的行集合包括滿足該語句的 WHERE 子句所列條件的所有行。由該語句返回完整的行集合叫做結(jié)果集。

應(yīng)用程序,尤其是互動和在線應(yīng)用程序,把完整的結(jié)果集作為一個單元處理并不總是有效的。

這些應(yīng)用程序需要一種機(jī)制來一次處理一行或連續(xù)的幾行。而游標(biāo)是對提供這一機(jī)制的結(jié)果集的擴(kuò)展。

游標(biāo)是通過游標(biāo)庫來實(shí)現(xiàn)的。游標(biāo)庫是常常作為數(shù)據(jù)庫系統(tǒng)或數(shù)據(jù)訪問 API 的一部分而得以實(shí)現(xiàn)的軟件,用來管理從數(shù)據(jù)源返回的數(shù)據(jù)的屬性(結(jié)果集)。這些屬性包括并發(fā)管理、在結(jié)果集中的位置、返回的行數(shù),以及是否能夠在結(jié)果集中向前和/或向后移動(可滾動性)。

游標(biāo)跟蹤結(jié)果集中的位置,并允許對結(jié)果集逐行執(zhí)行多個操作,在這個過程中可能返回至原始表,也可能不返回至原始表。

換句話說,游標(biāo)從概念上講基于數(shù)據(jù)庫的表返回結(jié)果集。

由于它指示結(jié)果集中的當(dāng)前位置 ,就像計(jì)算機(jī)屏幕上的光標(biāo)指示當(dāng)前位置一樣,“游標(biāo)”由此得名。

游標(biāo)有什么作用?

①指定結(jié)果集中特定行的位置。

②基于當(dāng)前的結(jié)果集位置檢索一行或連續(xù)的幾行。

③在結(jié)果集的當(dāng)前位置修改行中的數(shù)據(jù)。

④對其他用戶所做的數(shù)據(jù)更改定義不同的敏感性級別。

⑤可以以編程的方式訪問數(shù)據(jù)庫。

引言

本節(jié)對Oracle中的游標(biāo)進(jìn)行詳細(xì)講解。本節(jié)所舉實(shí)例來源Oracle中scott用戶下的emp表dept表:

一、游標(biāo):

1、概念:

游標(biāo)的本質(zhì)是一個結(jié)果集resultset,主要用來臨時存儲從數(shù)據(jù)庫中提取出來的數(shù)據(jù)塊。

二、游標(biāo)的分類:

1、顯式游標(biāo):

由用戶定義,需要的操作:定義游標(biāo)、打開游標(biāo)、提取數(shù)據(jù)、關(guān)閉游標(biāo),主要用于對查詢語句的處理。

屬性:%FOUND %NOTFOUND %ISOPEN %ROWCOUNT

Example:打印emp表的員工信息

DECLARE
 CURSOR emp_cursor IS SELECT empno,ename,job FROM emp;
 v_empno emp.empno%TYPE;
 v_name emp.ename%TYPE;
 v_job emp.job%TYPE;
BEGIN
 OPEN emp_cursor;
 LOOP
 FETCH emp_cursor INTO v_empno,v_name,v_job;
 DBMS_OUTPUT.PUT_LINE('員工號為:'||v_empno||'姓名是'||v_name||'職位:'||v_job);
 EXIT WHEN emp_cursor%NOTFOUND;
 END LOOP;
 CLOSE emp_cursor;
END;

這里嚴(yán)格按照顯示游標(biāo)的書寫規(guī)則:DECLARE emp_cursor定義游標(biāo)OPEN emp_cursor打開游標(biāo)FETCH emp_cursor INTO...提取數(shù)據(jù)CLOSE emp_cursor關(guān)閉游標(biāo),因?yàn)樘崛〕鰜淼臄?shù)據(jù)屬于多行,所以通過loop循環(huán)打印即可。

Example2:檢驗(yàn)游標(biāo)是否打開,如果打開顯示提取行數(shù)

DECLARE
 CURSOR emp_cursor IS SELECT empno,ename,job FROM emp;
 v_empno emp.empno%TYPE;
 v_name emp.ename%TYPE;
 v_job emp.job%TYPE;
BEGIN
 OPEN emp_cursor;
 LOOP
  FETCH emp_cursor INTO v_empno,v_name,v_job;
  EXIT WHEN emp_cursor%NOTFOUND;
 END LOOP;
 IF emp_cursor%ISOPEN THEN
 DBMS_OUTPUT.PUT_LINE('游標(biāo)已打開');
 DBMS_OUTPUT.PUT_LINE('讀取了'||emp_cursor%ROWCOUNT||'行');
 ELSE
 DBMS_OUTPUT.PUT_LINE('游標(biāo)沒有打開');
 END IF; 
 CLOSE emp_cursor;
END;

通過%ISOPEN屬性判斷游標(biāo)是否打開,%ROWCOUNT判斷獲取行數(shù)。

2、隱式游標(biāo):由系統(tǒng)定義并為它創(chuàng)建工作區(qū)域,并且隱式的定義打開提取關(guān)閉,隱式游標(biāo)的游標(biāo)名就是'SQL',屬性和顯示游標(biāo)相同,主要用于對單行select語句或dml操作進(jìn)行處理。Example:又用戶輸入員工號修改員工工資如成功則打印輸出成功標(biāo)志。

為了盡量不改變原表,創(chuàng)建新表emp_new和原表數(shù)據(jù)相同:

CREATE TABLE emp_new
AS
SELECT * FROM emp;
BEGIN
 UPDATE emp_new SET sal = sal+500 WHERE empno=empno;
 IF SQL%FOUND THEN
 DBMS_OUTPUT.PUT_LINE('成功修改');
 COMMIT;
 ELSE
 DBMS_OUTPUT.PUT_LINE('修改失敗');
 ROLLBACK;
 END IF;
END;

這里注意增刪改以后要對做的操作進(jìn)行commit提交,如果操作失敗則rollback回滾剛才的操作。

3、參數(shù)游標(biāo):

在定義游標(biāo)時加入?yún)?shù)的游標(biāo),可以配合游標(biāo)for循環(huán)快速找到需要的數(shù)據(jù)。這里先講一下游標(biāo)for循環(huán)

A、游標(biāo)FOR循環(huán):

隱含的執(zhí)行了打開提取關(guān)閉數(shù)據(jù),代碼精簡很多。Expression:

FOR table_record IN table_cursor LOOP

  STATEMENT;

END LOOP;

Example:使用游標(biāo)For循環(huán)打印輸出員工信息:

DECLARE
CURSOR emp_cursor IS SELECT empno,ename,job FROM emp;
BEGIN
 FOR emp_record IN emp_cursor LOOP
 DBMS_OUTPUT.PUT_LINE('員工號:'||emp_record.empno||'員工姓名'||emp_record.ename||'員工職位'||emp_record.job);
 END LOOP;
END;

這里游標(biāo)FOR循環(huán)省去了對于取到的數(shù)據(jù)的變量的命名和賦值,同時如果全部打印則不用寫循環(huán)條件,代碼精簡了很多。

如果想讓代碼更加精簡,則可以去掉對游標(biāo)的聲明引入子查詢即可,操作如下。

BEGIN
 FOR emp_record IN (SELECT empno,ename,job FROM emp) LOOP
 DBMS_OUTPUT.PUT_LINE('員工號:'||emp_record.empno||'員工姓名'||emp_record.ename||'員工職位'||emp_record.job);
 END LOOP;
END;

代碼更加精簡,得到的結(jié)果相同。和隱式游標(biāo)是不是有點(diǎn)像,但隱式游標(biāo)主要用于的是單行select和dml語句的操作,注意2者用法的區(qū)別。

下面繼續(xù)參數(shù)游標(biāo)的實(shí)例:

Example:輸入部門號打印員工信息:

DECLARE
CURSOR emp_cursor(dno NUMBER)IS SELECT empno,ename,job FROM emp WHERE deptno=dno;
BEGIN
 FOR emp_record IN emp_cursor(dno) LOOP
 DBMS_OUTPUT.PUT_LINE('員工號'||emp_record.empno||'姓名'||emp_record.ename||'職位'||emp_record.job);
 END LOOP;
END;

這里既然有參數(shù),那么必然會有對游標(biāo)的聲明,在結(jié)合游標(biāo)FOR循環(huán)快速超找所需要的數(shù)據(jù)。

三、使用游標(biāo)修改數(shù)據(jù)的注意事項(xiàng)

1、使用游標(biāo)修改數(shù)據(jù)時,為防止他人在自己操作數(shù)據(jù)時對數(shù)據(jù)進(jìn)行修改,oracle提供for update子句進(jìn)行加鎖。

同時在你使用update或delete時,必須使用where current of+name_cursor語句,以及在最后記得提交。如果是級聯(lián)操作則可以使用for update of 來進(jìn)行相關(guān)表的加鎖。

Example1:對職位是PRESIDENT的員工加1000工資,MANAGER的人加500工資

CREATE TABLE emp_new
AS
SELECT * FROM emp;
DECLARE
CURSOR empnew_cursor IS SELECT ename,job FROM emp_new FOR UPDATE;
BEGIN
 FOR empnew_record IN empnew_cursor LOOP
 DBMS_OUTPUT.PUT_LINE('姓名'||empnew_record.ename||'職位'||empnew_record.job);
 IF empnew_record.job='PRESIDENT' THEN
  UPDATE emp_new SET sal=sal+1000 WHERE CURRENT OF empnew_cursor;
 ELSIF empnew_record.job='MANAGER' THEN
  UPDATE emp_new SET sal=sal+500 WHERE CURRENT OF empnew_cursor;
 END IF;
 END LOOP;
 COMMIT;
END;

可以看到這里工資有了相應(yīng)的變化。至此,Oracle游標(biāo)解析完畢,總而言之,游標(biāo)只是作為我們從數(shù)據(jù)庫中提取出來的一部分?jǐn)?shù)據(jù),我們針對這個結(jié)果集做一系列的操作。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • 詳解Oracle游標(biāo)的簡易用法
  • Oracle中游標(biāo)Cursor基本用法詳解
  • 詳解Oracle隱式游標(biāo)和顯式游標(biāo)
  • Oracle中的游標(biāo)和函數(shù)詳解
  • Oracle出現(xiàn)超出打開游標(biāo)最大數(shù)的解決方法
  • Oracle顯示游標(biāo)的使用及游標(biāo)for循環(huán)
  • Oracle存儲過程返回游標(biāo)實(shí)例詳解
  • Oracle 游標(biāo)使用總結(jié)
  • oracle 在一個存儲過程中調(diào)用另一個返回游標(biāo)的存儲過程
  • Oracle游標(biāo)使用參考語句實(shí)例解析

標(biāo)簽:遼源 涼山 滁州 郴州 焦作 許昌 南充 合肥

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Oracle游標(biāo)的使用實(shí)例詳解》,本文關(guān)鍵詞  Oracle,游,標(biāo)的,使用,實(shí)例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Oracle游標(biāo)的使用實(shí)例詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于Oracle游標(biāo)的使用實(shí)例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    日韩三级在线播放| 亚洲一区久久久| 国产成人久久久精品一区| 国产毛片久久久久久| 精品福利视频导航| 国产在线观看免费一区| 久久久久久久波多野高潮日日| 久久久久久亚洲精品不卡4k岛国| 亚洲黄色天堂| 成人黄色激情网站| 精品国产髙清在线看国产毛片| 国产91在线精品| 肥婆老bbb肥婆bbbbb| 99在线精品视频免费观看软件| 天堂网免费视频| 久久久久女人精品毛片九一| 可以看av的网站久久看| 美女视频免费观看网站在线| 日本成人网址| 国语对白做受xxxxx在线中国| 中文字幕在线观看国产| 欧美日韩18| 免费日韩av| 精品不卡视频| 国产一区二区三区在线播放免费观看| 亚州av电影免费在线观看| 欧美最猛性xxxxx亚洲精品| 亚洲欧美韩国综合色| 欧美亚洲人成在线| 麻豆明星ai换脸视频| 日韩专区中文字幕一区二区| 中国女人做爰视频| 91久久国产视频| 国产亚洲精品熟女国产成人| аⅴ天堂中文在线网| 欧美wwwwww| 99热在线观看| 国产精品一区二区av白丝下载| 日韩精品免费在线视频| 色综合97天天综合网| 久久免费在线观看视频| 国产视频一二| 99精品国产99久久久久久白柏| 日韩电影免费| 狠狠干夜夜爽| 国产精品人人| 精品制服美女丁香| 国产激情久久久久久熟女老人av| 菠萝蜜网站在线观看| 666欧美在线视频| 可以在线观看的av网站| 91高跟黑色丝袜呻吟在线观看| 九九精品在线视频| 亚洲成年人专区| wwww在线观看| 蜜桃av网站| 18禁免费无码无遮挡不卡网站| 欧美日韩一二三四区| 日日av拍夜夜添久久免费| 久久久久中文字幕| 蜜桃传媒视频麻豆一区| 伊人网综合在线| seerx性欧美巨大| 亚洲精品成人a在线观看| 欧美性猛交xxxxbbbb| 无限国产资源| 成全电影大全在线观看| 日韩手机在线| 亚洲一区二区激情| 免费观看h电影在线观看| 国产精品扒开做爽爽爽的视频| 久草热8精品视频在线观看| 亚洲综合专区| 日韩网站在线免费观看| 厕沟全景美女厕沟精品| 一本色道久久综合亚洲精品小说| 日本爱爱爱视频| 国产精品麻豆99久久久久久| 成人免费在线看片| 性欧美ⅴideo另类hd| 极品av少妇一区二区| 五月天激情播播| 欧美一区视久久| 嫩草影院一二三| 91精品国产高清久久久久久久久| 日韩视频在线观看免费| 亚洲一级Av无码毛片久久精品| 777久久久精品| 中国免费黄视频| 无遮挡动作视频在线观看免费入口| 亚洲欧美一区二区三区久久| 国产美女视频一区二区二三区| 在线观看日产精品| 茄子视频成人在线观看| 欧美一区二区三区四区五区| 小说区图片区综合久久亚洲| 国产麻豆视频一区| aaa一区二区三区| 成人在线视频一区| 欧美一级欧美三级| 美女精品在线| 日韩欧美国产另类| 青草网在线观看| av资源新版天堂在线| 伊人狠狠色丁香综合尤物| 欧美优质美女网站| 欧美视频亚洲视频| 岛国视频一区免费观看| 九九热国产视频| 亚洲免费黄色片| 欧洲午夜精品| 成人免费毛片app| 国产尤物精品| 永久免费在线| 全球成人中文在线| 99a精品视频在线观看| 欧美日韩精品一区视频| 国产精品久久久久久久久粉嫩av| 一级做a爱视频| 福利片在线观看| 91精品国产欧美日韩| 亚洲久本草在线中文字幕| 国产视频一区二区三区在线播放| 68国产成人综合久久精品| 亚洲天堂电影| 老熟妇精品一区二区三区| 粉嫩精品久久99综合一区| 国产日韩欧美亚洲| aⅴ在线视频男人的天堂| abab456成人免费网址| 成人免费毛片嘿嘿连载视频| 亚洲中文一区二区| 91蜜臀精品国产自偷在线| 亚洲激情校园春色| 人猿泰山h版在线观看| 国产一区二区三区四区三区四| 伊人影院蕉久552| 欧美电影在线观看一区| 日韩av黄色片| 黄视频网站在线看| 92久久精品一区二区| 亚洲日本一区二区三区在线不卡| av日韩免费电影| 久久精品第九区免费观看| 影音先锋在线一区| 狠狠操一区二区三区| 欧美三级小视频| 国产精品国内视频| 欧美在线观看18| 亚洲欧美偷拍另类a∨色屁股| 亚洲精品影院在线观看| 中文在线观看免费网站| 中文字幕中文字幕在线一区| 91人人爽人人爽人人精88v| 久久精品99国产精| 波多野结衣av一区二区全免费观看| 中文字幕欧美国产| 色成人综合网| 亚洲1024| 欧美三级理论片| 美女诱惑一区二区| www.四虎在线观看| 日本熟妇一区二区三区| 欧美一卡2卡3卡4卡| 欧美黄色免费观看| www.狠狠操.com| 成人免费观看视频在线观看| 国产精品冒白浆免费视频| 久久狠狠久久综合桃花| 999精品在线视频| 精品91久久久久| 欧美日韩性生活| 免费黄色福利视频| 亚洲国产精品人人爽夜夜爽| 亚洲欧美综合另类| 四虎免费在线观看视频| 国产精品高潮呻吟av| 日韩少妇中文字幕| 豆花视频一区| 风间由美中文字幕在线看视频国产欧美| 亚洲一二三在线观看| 国产视频不卡在线| 色先锋aa成人| 无码中文字幕色专区| 亚洲美女精品久久| 欧美三级在线观看视频| 黄色免费网站视频| 成 人 黄 色 片 在线播放| 蜜臀av一级做a爰片久久| a视频在线观看| 综合久久给合久久狠狠狠97色| 欧美日韩一区二区三区在线播放| 国产理论片在线观看| 国产91一区| 久操久操久操| 国产精品资源站| 黄色免费网址大全| jlzzjlzz亚洲日本少妇| 日产国产高清一区二区三区| 99视频入口| 伊人久久大香线蕉成人综合网| 美女毛片一区二区三区四区| 国产精品亚洲二区在线观看| 精品福利影院| 国产日韩精品在线| www.日本久久久久com.| 欧美精品在线免费播放| 国产大学生自拍| 日韩在线你懂得| 欧美孕妇孕交xxⅹ孕妇交| 寂寞少妇一区二区三区| 老司机午夜免费福利视频| 色丁香久综合在线久综合在线观看| 亚洲最大色综合成人av| 精品人妻无码一区二区三区| 97电影在线看视频| 99久久夜色精品国产网站| 亚洲一区二区三区四区五区黄| 亚洲色图16p| 国产伦精品一区二区三区免费视频| 免费看大片爽| 成人综合婷婷国产精品久久蜜臀| av在线免费不卡| 欧美日韩情趣电影| 亚洲一区美女视频在线观看免费| 久久免费视频观看| 中文字幕第8页| 中文字幕av影院| 91网址在线观看精品| 亚洲av毛片在线观看| 久草在.com| www.色偷偷.com| 亚洲自啪免费| 久久这里精品国产99丫e6| 欧美性大战久久久久| www日本高清| 国产欧美一区二区三区视频| 四虎精品一区二区永久在线观看| 国产乱子精品一区二区在线观看| 欧美a级成人淫片免费看| 日韩片电影在线免费观看| 亚洲精品成a人| 黄色国产精品视频| 欧美日韩亚洲国内综合网俺| 亚欧精品在线| 亚洲综合清纯丝袜自拍| 国产麻豆免费观看| 国产日韩二区| 群体交乱之放荡娇妻一区二区| 亚洲婷婷综合久久一本伊一区| 精品福利视频一区二区三区| 欧美日韩精品免费看| 一区三区三区不卡| 国家队第一季免费高清在线观看| 亚洲精品在线观看av| 在线黄色网页| 国产精品久久久久久麻豆一区软件| 日韩精品视频一区二区| 亚洲亚洲一区二区三区| 国产精品日韩欧美一区二区三区| 美女视频黄是免费| 蜜臀av一区二区在线观看| 亚洲一级片在线播放| 美女免费观看一区二区三区| 亚洲电影观看| 好看的视频你懂的| 中国老头性行为xxxx| 日日夜夜免费精品视频| 久久精品中文字幕一区| 女女同性女同一区二区三区按摩| 亚洲欧美国产一区二区| 黑人玩欧美人三根一起进| 日韩精品一级中文字幕精品视频免费观看| 欧美久久久久久久久中文字幕| 国产乱人伦丫前精品视频| 日韩中文字幕久久久经典网| 日本一区二区三区视频在线看| 欧美成人se01短视频在线看| 亚洲免费电影一区| 亚州精品国产| 久久精品亚洲精品国产欧美| 国产无遮挡一区二区三区毛片日本| 久久亚区不卡日本| 天堂а在线中文在线无限看推荐| 成人国产一区二区三区精品麻豆| 日本不卡一区二区三区在线观看| 欧美xxx黑人xxx水蜜桃| 三级亚洲高清视频| 91中文字幕在线播放| 国产欧美啪啪| 午夜久久久久| 美女久久久久久久久久| 日产精品一线二线三线芒果| 加勒比一区二区| 成人在线网址| 116极品美女视频在线观看| 97视频在线观看播放| 日韩精品一区二区亚洲av| h色视频在线观看| 精品一区二区影视| 日韩xxx视频| 国产一区二区在线网站| 国产精品麻豆免费版现看视频| 免费黄色欧美视频| 国产性网软件大全| 农村黄色一级片| 国产精品夜夜夜爽阿娇| 成人网免费看| 中文字字幕在线中文| 精品人妻少妇一区二区| 福利网址在线观看| 欧美三级自拍| 欧美 变态 另类 人妖| 成人黄色av电影| 日本ー区在线视频| 日本在线观看天堂男亚洲| www免费在线观看| 国产综合色在线视频区| 欧美精品尤物在线| a毛片在线免费观看| 欧美精品二区三区四区免费看视频| 欧美亚洲成人网| 在线国产中文字幕| 91精品国产91久久久久游泳池| 国产成人在线播放视频| 999人在线精品播放视频| 国产精品欧美一级免费| xxxxx成人.com|