Oracle---顯式遊標

來源:互聯網
上載者:User

標籤:

  一  遊標的分類

  在Oracle中提供了兩種類型的遊標:靜態資料指標和動態資料指標。

  1.靜態資料指標是在編譯時間知道其SELECT語句的遊標。靜態資料指標又分為兩種類型,即隱式遊標和顯式遊標。

  2.當使用者需要為遊標使用的查詢直到啟動並執行時候才能夠確定時,可以使用REF遊標(引用遊標)和遊標變數。使用引用遊標必須聲明遊標變數。引用遊標又可以分為兩種類型:強型別REF遊標和弱類型REF遊標。

  二  遊標的用法

  1.顯式遊標的用法

  使用顯式遊標的4個步驟:

  1>聲明遊標

  文法:CURSOR cursor_name [(parameter[,parameter]...)]

     [RETURN return_type] IS select_statement;

  cursor_name:遊標的名稱。

  parameter:用於為遊標指定輸入參數。在指定資料類型時,不能使用長度約束。

  return_type:定義遊標提取的行的類型。

  select_statement:遊標定義的查詢語句。

  2>開啟遊標

  文法:OPEN cursor_name[(parameters)];

  3>提取遊標

  文法:FETCH cursor_name INTO variables;

  variables:變數名。

  4>關閉遊標

  文法:CLOSE cursor_name;

  顯式遊標使用舉例:

 1 --顯式遊標1 2 DECLARE 3   v_name tb_student.stu_name%TYPE; 4   v_sex tb_student.stu_sex%TYPE; 5   v_email tb_student.stu_email%TYPE; 6   CURSOR cur_stu IS 7   SELECT stu_name,stu_sex,stu_email FROM tb_student; 8 BEGIN 9   --開啟遊標10   OPEN cur_stu;11   LOOP12     FETCH cur_stu INTO v_name,v_sex,v_email;13     EXIT WHEN cur_stu%NOTFOUND;14     dbms_output.put_line(v_name||‘  ‘||v_sex||‘  ‘||v_email);15   END LOOP;16   CLOSE cur_stu;17 END;

  2.顯式遊標屬性

  1>%FOUND:只有在DML語句影響一行或多行時,%FOUND才返回TRUE。

  2>%NOTFOUND:與%FOUND的作用相反。若DML語句沒有影響任何行,則返回TRUE。

  3>%ROWCOUNT:返回DML語句影響的行數。若沒有影響任何行,則返回0。

  4>%ISOPEN:返回遊標是否已開啟的值。在執行SQL語句之後,Oracle自動關閉SQL遊標,所有隱式遊標的%ISOPEN屬性始終為FALSE。

 

Oracle---顯式遊標

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.