游標

顯示游標

顯示游標屬性

1.%ISOPEN:布爾值,游標是否打開
2.%FOUND:布爾值,FETCH附近,緩存區中是否有數據
3.%NOTFOUND:布爾值,反之
4.%ROWCOUNT:數值型,緩沖區檢索的記錄數
5.%BULK_ROWCOUNT(i):數值型,FORALL語句第I個元素所影響的行數

顯示游標的三種循環

--編寫一個PL/SQL塊,輸出所有員工的姓名。員工號。工資和部門號。

Select * from emp;
Select * from dept;

--簡單循環

--簡單循環
set serveroutput on
DECLARE
  CURSOR c_emp IS SELECT * FROM emp;
  v_emp emp%ROWTYPE;
BEGIN 
  OPEN c_emp;
  LOOP 
    FETCH c_emp INTO v_emp;
    EXIT WHEN c_emp%NOTFOUND;
    DBMS_OUTPUT.PUT_LINE(v_emp.ename||' '||v_emp.empno||' '||v_emp.sal||' '||v_emp.deptno);
  END LOOP;
  CLOSE c_emp;
END;

--while循環

set serveroutput on
DECLARE
  CURSOR c_emp IS SELECT * FROM emp;
  v_emp emp%ROWTYPE;
BEGIN 
  OPEN c_emp;
  FETCH c_emp INTO v_emp;
  
  WHILE c_emp%FOUND LOOP
    DBMS_OUTPUT.PUT_LINE(v_emp.ename||' '||v_emp.empno||' '||v_emp.sal||' '||v_emp.deptno);
    FETCH c_emp into v_emp;
  END LOOP;
  
  CLOSE c_emp;
END;

--for循環

set serveroutput on
DECLARE
  CURSOR c_emp IS SELECT * FROM emp;
BEGIN 

  FOR i IN c_emp LOOP
  DBMS_OUTPUT.PUT_LINE(i.ename||' '||i.empno||' '||i.sal||' '||i.deptno);
  END LOOP;
  
END;

隱式游標(處理DML語言后)

隱式游標屬性

1.SQL%ISOPEN:布爾值,游標是否打開
2.SQL%FOUND:布爾值,FETCH附近,緩存區中是否有數據
3.SQL%NOTFOUND:布爾值,反之
4.SQL%ROWCOUNT:數值型,緩沖區檢索的記錄數
5.SQL%BULK_ROWCOUNT(i):數值型,FORALL語句第I個元素所影響的行數

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一,游標是什么? 游標是一段私有的SQL工作區,也就是一段內存區域,用于暫時存放受SQL語句影響到的數據。通俗理解...
    奇哥威武閱讀 414評論 0 1
  • 游標概念 由select語句返回的結果集包括滿足該語句的where子句中條件的所有行。但是有時候應用程序并不總能將...
    不知名的蛋撻閱讀 2,057評論 0 6
  • 游標的概念 從數據表中提取出來的數據,以臨時表的形式存放在內存中,在游標中有一個數據指針,在初始狀態下指向的是首記...
    海豚的小小海閱讀 338評論 0 0
  • MySQL是一個關系型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬于 Oracle 旗下產品。MySQ...
    開心糖果的夏天閱讀 793評論 0 4
  • 學習python連接mysql,對游標這個詞很陌生,專門在網上搜索了游標的基礎知識,并進行了大致的學習。 1、游標...
    橘頌betty閱讀 2,236評論 0 51