gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長(zhǎng)資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

什么是oracle游標(biāo)

在Oracle中,游標(biāo)是一種機(jī)制,是通過(guò)關(guān)鍵字CURSOR的來(lái)定義一組Oracle查詢出來(lái)的數(shù)據(jù)集,可以把查詢的數(shù)據(jù)集存儲(chǔ)在內(nèi)存當(dāng)中,然后通過(guò)游標(biāo)指向其中一條記錄,通過(guò)循環(huán)游標(biāo)達(dá)到循環(huán)數(shù)據(jù)集的目的。

什么是oracle游標(biāo)

本教程操作環(huán)境:Windows7系統(tǒng)、Oracle 11g版、Dell G3電腦。

在Oracle中,游標(biāo)(Cursors)是一種機(jī)制,可以通過(guò)該機(jī)制將名稱(chēng)分配給SELECT語(yǔ)句并處理該SQL語(yǔ)句中的信息。

Oracle游標(biāo)是通過(guò)關(guān)鍵字CURSOR的來(lái)定義一組Oracle查詢出來(lái)的數(shù)據(jù)集,類(lèi)似數(shù)組一樣,把查詢的數(shù)據(jù)集存儲(chǔ)在內(nèi)存當(dāng)中,然后通過(guò)游標(biāo)指向其中一條記錄,通過(guò)循環(huán)游標(biāo)達(dá)到循環(huán)數(shù)據(jù)集的目的。

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

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

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

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

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

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

Oracle游標(biāo)的類(lèi)型?

1、靜態(tài)游標(biāo):結(jié)果集已經(jīng)確實(shí)(靜態(tài)定義)的游標(biāo)。分為隱式和顯示游標(biāo)

  • 隱式游標(biāo):所有DML語(yǔ)句為隱式游標(biāo),通過(guò)隱式游標(biāo)屬性可以獲取SQL語(yǔ)句信息。

  • 顯示游標(biāo):用戶顯示聲明的游標(biāo),即指定結(jié)果集。當(dāng)查詢返回結(jié)果超過(guò)一行時(shí),就需要一個(gè)顯式游標(biāo)。

2、REF游標(biāo):動(dòng)態(tài)關(guān)聯(lián)結(jié)果集的臨時(shí)對(duì)象。

Oracle游標(biāo)的狀態(tài)有哪些,怎么使用游標(biāo)屬性?

①游標(biāo)的狀態(tài)是通過(guò)屬性來(lái)表示。

  • %Found :Fetch語(yǔ)句(獲取記錄)執(zhí)行情況True or False。

  • %NotFound : 最后一條記錄是否提取出True or False。

  • %ISOpen : 游標(biāo)是否打開(kāi)True or False。

  • %RowCount :游標(biāo)當(dāng)前提取的行數(shù) 。

②使用游標(biāo)的屬性。

例子:

/* conn scott/tiger */   Begin    Update emp Set  SAL = SAL + 0.1  Where JOB = 'CLERK';    If  SQL%Found  Then     DBMS_OUTPUT.PUT_LINE('已經(jīng)更新!');    Else     DBMS_OUTPUT.PUT_LINE('更新失敗!');    End  If;   End;

如何使用顯示游標(biāo),?如何遍歷循環(huán)游標(biāo)?

1、使用顯示游標(biāo)

  • 聲明游標(biāo):劃分存儲(chǔ)區(qū)域,注意此時(shí)并沒(méi)有執(zhí)行Select 語(yǔ)句。

CURSOR 游標(biāo)名( 參數(shù) 列表)   [返回值類(lèi)型]   IS   Select 語(yǔ)句;
  • 打開(kāi)游標(biāo):執(zhí)行Select 語(yǔ)句,獲得結(jié)果集存儲(chǔ)到游標(biāo)中,此時(shí)游標(biāo)指向結(jié)果集頭, 而不是第一條記錄。

 Open 游標(biāo)名( 參數(shù) 列表);
  • 獲取記錄:移動(dòng)游標(biāo)取一條記錄

Fetch  游標(biāo)名InTo  臨時(shí)記錄或?qū)傩灶?lèi)型變量;
  • 關(guān)閉游標(biāo):將游標(biāo)放入緩沖池中,沒(méi)有完全釋放資源。可重新打開(kāi)。

Close  游標(biāo)名;

2、遍歷循環(huán)游標(biāo)

  • For 循環(huán)游標(biāo)

循環(huán)游標(biāo)隱式打開(kāi)游標(biāo),自動(dòng)滾動(dòng)獲取一條記錄,并自動(dòng)創(chuàng)建臨時(shí)記錄類(lèi)型變量存儲(chǔ)記錄。處理完后自動(dòng)關(guān)閉游標(biāo)。

     For  變量名  In  游標(biāo)名       Loop       數(shù)據(jù)處理語(yǔ)句;      End Loop;
  • Loop循環(huán)游標(biāo)

     。。。     Loop      Fatch  游標(biāo)名InTo  臨時(shí)記錄或?qū)傩灶?lèi)型變量;      Exit  When   游標(biāo)名%NotFound;     End   Loop;      。。。

例子1:

/* conn scott/tiger */    Declare      Cursor myCur is select empno,ename,sal from emp;      vna varchar2(10);      vno number(4);      vsal number(7,2);   Begin      open myCur;      fetch myCur into vno,vna,vsal;      dbms_output.put_line(vno||'    '||vna||'    '||vsal);      close myCur;   End;   /

例子2:使用loop遍歷游標(biāo)。

 /* conn scott/tiger */   Declare      Cursor myCur is select ename,job,sal,empno from emp;      varE myCur%rowType;   Begin      if myCur%isopen = false then         open myCur;        dbms_output.put_line('Opening...');      end if;      loop         fetch myCur into varE;         exit when myCur%notfound;         dbms_output.put_line(myCur%rowCount||'    '||vare.empno||'    '||vare.ename||'    '||vare.sal);      end loop;      if myCur%isopen then         Close myCur;         dbms_output.put_line('Closing...');      end if;   End;   /

例子3:使用For循環(huán)遍歷游標(biāo),

  /* conn scott/tiger */   Declare      Cursor myCur is select * from emp;   Begin      for varA in myCur       loop          dbms_output.put_line(myCur%rowCount||'    '||varA.empno||'    '||varA.ename||'  '||varA.sal);       end loop;   End;   /

怎樣更新和刪除顯示游標(biāo)中的記錄?

①UPDATE或DELETE語(yǔ)句中的WHERE CURRENT OF子串專(zhuān)門(mén)處理要執(zhí)行UPDATE或DELETE操作的表中取出的最近的數(shù)據(jù)。

要使用這個(gè)方法,在聲明游標(biāo)時(shí)必須使用FOR UPDATE子串,當(dāng)對(duì)話使用FOR UPDATE子串打開(kāi)一個(gè)游標(biāo)時(shí),

所有返回集中的數(shù)據(jù)行都將處于行級(jí)(ROW-LEVEL)獨(dú)占式鎖定,其他對(duì)象只能查詢這些數(shù)據(jù)行,

不能進(jìn)行UPDATE、DELETE或SELECT…FOR UPDATE操作。

在多表查詢中,使用OF子句來(lái)鎖定特定的表,如果忽略了OF子句,那么所有表中選擇的數(shù)據(jù)行都將被鎖定。

如果這些數(shù)據(jù)行已經(jīng)被其他會(huì)話鎖定,那么正常情況下ORACLE將等待,直到數(shù)據(jù)行解鎖。

②使用更新或刪除:

⑴聲明更新或刪除顯示游標(biāo):

   Cursor 游標(biāo)名IS  SELECT 語(yǔ)句   For Update [ Of  更新列列名];    Cursor 游標(biāo)名IS  SELECT 語(yǔ)句   For Delete [ Of  更新列列名];

⑵使用顯示游標(biāo)當(dāng)前記錄來(lái)更新或刪除:

   Update  表名   SET   更新語(yǔ)句  Where   Current  Of   游標(biāo)名;    Delete  From  表名   Where   Current  Of   游標(biāo)名;

例子1:更新顯示游標(biāo)記錄

   /*conn scott/tiger*/    Declare      Cursor myCur is select job from emp for update;        vjob empa.job%type;        rsal empa.sal%type;     Begin        open myCur;        loop           fetch myCur into vjob;           exit when myCur%notFound;           case  (vjob)              when 'ANALYST' then  rsal := 0.1;             when  'CLERK' then  rsal := 0.2;              when  'MANAGER' then  rsal := 0.3;              else                rsal := 0.5;           end case;         update emp set sal = sal + rsal where current of myCur;        end loop;     End;     /

例子2:刪除顯示游標(biāo)記錄

    /*conn scott/tiger     Crate table  empa  Select * from scott.emp;     */     Declare       Cursor MyCursor  Select   JOB  From  empa  For  Update;       vSal   emp.Sal%TYPE;     Begin       Loop        Fetch  MyCursor  InTo  vSal;        Exit  When  MyCursor%NotFound;        If   vSal < 800 Then         Delete  From empa  Where  Cursor  Of   MyCursor;        End  If;         End    Loop;     End;/

什么是帶參數(shù)的顯示游標(biāo)?

1、與過(guò)程和函數(shù)相似,可以將參數(shù)傳遞給游標(biāo)并在查詢中使用。

參數(shù)只定義數(shù)據(jù)類(lèi)型,沒(méi)有大小(所有Oracle中的形參只定義數(shù)據(jù)類(lèi)型,不指定大小)。

與過(guò)程不同的是,游標(biāo)只能接受傳遞的值,而不能返回值。

  可以給參數(shù)設(shè)定一個(gè)缺省值,當(dāng)沒(méi)有參數(shù)值傳遞給游標(biāo)時(shí),就使用缺省值。

游標(biāo)中定義的參數(shù)只是一個(gè)占位符,在別處引用該參數(shù)不一定可靠。

2、使用帶參數(shù)的顯示游標(biāo)

  • 聲明帶參數(shù)的顯示游標(biāo):

   CURSOR 游標(biāo)名  [(parameter[,parameter],...)]    IS   Select語(yǔ)句;

參數(shù)形式:

1,參數(shù)名 數(shù)據(jù)類(lèi)型

2,參數(shù)名 數(shù)據(jù)類(lèi)型 DEFAULT 默認(rèn)值

例子:

    /*conn scott/tiger     Crate table  empa  Select * from scott.emp;     */     Declare       Cursor MyCursor(pSal  Number  Default   800)  Select   JOB  From  empa Where  SAL >  pSal ;       varA  MyCursor%ROWTYPE;     Begin       Loop        Fetch  MyCursor  InTo  varA;        Exit  When  MyCursor%NotFound;        DBMS_OUTPUT.PUT_LINE(MyCursor%RowCount||'    '||varA.empno||'    '||varA.ename||'  '||varA.sal);        End    Loop;     End;/

推薦教程:《Oracle教程》

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
精品一卡二卡三卡| 手机精品视频在线| 亚洲av毛片在线观看| 国产精品333| 国产1区2区3区中文字幕| 国产又粗又长又爽又黄的视频| 成人亚洲视频在线观看| 黄色一级大片在线观看| 日本成人黄色网| 国产综合免费视频| 污版视频在线观看| 性生活免费在线观看| 亚洲综合欧美在线| 成人免费黄色av| 日本一二三区在线| 裸体裸乳免费看| 精品视频在线观看一区二区| 国产无限制自拍| 日本免费不卡一区二区| 国产成人av影视| 国内自拍第二页| 91免费版看片| 奇米精品一区二区三区| 中文字幕国内自拍| www亚洲国产| 欧美网站免费观看| 日本中文字幕二区| 欧美大片免费播放| 日本三级免费观看| 日本精品一区在线| xxxx18hd亚洲hd捆绑| 精品久久久久久无码国产| 日本免费在线视频观看| 国产黄页在线观看| 91视频福利网| 国产真实乱子伦| 欧美日韩久久婷婷| 加勒比成人在线| 亚洲欧美日本一区二区三区| 日本大胆人体视频| 日韩一级免费片| 亚洲熟妇av日韩熟妇在线| 不卡的在线视频| 丰满爆乳一区二区三区| 天天爱天天做天天操| 黄色成人免费看| 免费看欧美黑人毛片| 九九热99视频| 亚洲少妇第一页| 欧美一区二区中文字幕| 一区二区三区一级片| 国产原创精品在线| 欧美视频免费播放| 日本韩国欧美在线观看| 裸体裸乳免费看| 一级黄色在线播放| www.天天射.com| 97av视频在线观看| 欧美精品自拍视频| 美女黄色片网站| www.日本久久| 国产成年人在线观看| www.色欧美| 久久久久久久久久久久久久久国产| www.亚洲天堂网| 丝袜老师办公室里做好紧好爽| 国产盗摄视频在线观看| 男女污污视频网站| 亚洲第一天堂久久| 天堂视频免费看| 天天碰免费视频| av亚洲天堂网| 久久6免费视频| 中文字幕在线乱| 日本a级片在线观看| 亚洲五码在线观看视频| 日本一本草久p| 日本阿v视频在线观看| 成人精品视频在线播放| 亚洲国产精品无码av| 人妻少妇精品无码专区二区| 免费看日本毛片| 国产精品宾馆在线精品酒店| 成人综合视频在线| 午夜精品在线免费观看| 蜜臀一区二区三区精品免费视频| 中日韩av在线播放| 男人草女人视频| 大陆极品少妇内射aaaaa| 日日摸天天爽天天爽视频| 国产美女18xxxx免费视频| 天天综合五月天| 国产精品网站免费| 亚洲人视频在线| 久久久久久久久久久久久国产| 日本男女交配视频| 亚洲精品无码久久久久久| 天天干天天爽天天射| 在线观看三级网站| 国产a级片免费观看| 最近中文字幕免费mv| 日韩欧美一区二| 福利网在线观看| 日韩av片在线看| 99999精品| 九色在线视频观看| 久久精品在线免费视频| 精品99在线视频| 四虎4hu永久免费入口| 99免费视频观看| 国产精品自拍合集| 女人高潮一级片| 男女激情免费视频| 午夜视频在线网站| 日韩黄色片视频| 国产精品视频网站在线观看| 天堂中文视频在线| 国产一区二区网| 成人在线观看www| 亚洲一级片av| 最新国产黄色网址| 欧美日韩亚洲自拍| 男人天堂网视频| 国产原创中文在线观看| 黄色污污在线观看| 亚洲天堂第一区| 免费看污污网站| 乱妇乱女熟妇熟女网站| 欧美日韩性生活片| 成年人网站国产| 你真棒插曲来救救我在线观看| 在线播放av中文字幕| 亚洲a级黄色片| 天天操天天爱天天爽| 国产又猛又黄的视频| 中文字幕亚洲乱码| 中文字幕第100页| 9l视频白拍9色9l视频| 性欧美videossex精品| 嫩草av久久伊人妇女超级a| 日本中文字幕片| 日韩国产欧美亚洲| 18禁网站免费无遮挡无码中文| 99久久免费观看| www.四虎成人| 三级视频中文字幕| 欧美在线aaa| 偷拍盗摄高潮叫床对白清晰| 一级黄色高清视频| 国产经典久久久| 成年女人18级毛片毛片免费| 高清在线观看免费| 乱子伦视频在线看| 在线观看av免费观看| 一级片黄色免费| 日韩亚洲欧美一区二区| 337p粉嫩大胆噜噜噜鲁| 妺妺窝人体色www在线观看| 午夜不卡福利视频| 欧美中文字幕在线观看视频| 国产真实乱子伦| 婷婷中文字幕在线观看| 日韩video| 精品久久久久av| 少妇久久久久久被弄到高潮| 国产真实乱子伦| 手机在线观看日韩av| 香港三级日本三级a视频| 不要播放器的av网站| 中国女人做爰视频| 波多野结衣天堂| 日韩欧美国产综合在线| 亚洲一级免费在线观看| 国产素人在线观看| 波多野结衣在线免费观看| 国产亚洲黄色片| 老司机av福利| 毛片毛片毛片毛| 日韩欧美一区二| 久久久国内精品| 欧美特黄aaa| 丰满少妇在线观看| 成人黄色大片网站| 91精品一区二区三区四区| 一区二区在线播放视频| 国产乱子伦农村叉叉叉| 激情视频小说图片| 亚洲第一精品区| www欧美激情| 丁香啪啪综合成人亚洲| 日韩欧美不卡在线| 欧美在线观看黄| 欧美少妇在线观看| 亚洲精品偷拍视频| 国产精品久久成人免费观看| 我看黄色一级片| 午夜宅男在线视频| 另类小说第一页| 波多结衣在线观看| 538任你躁在线精品免费|