Oracle的遊標-CURSOR

 oracle的遊標使用:PL/SQL包含顯式遊標和隱式遊標兩種類型,其中隱式遊標用於處理select into和DML語句,而顯式遊標則專門用於處理select語句返回的多行數據。使用顯式遊標包括定義遊標、打開遊標、提取遊標和關閉遊標四個階段:

    1.cursor  定義遊標

    2.open  打開遊標

    3.fetch  提取遊標

    4.close  關閉遊標

 

實用記憶技巧(dofw)

    d:   declare  定義;

    o:   open  打開遊標;

    f:   fetch  遊標下移;

    w:   while 循環。

 

在塊中使用DDL 和 select查詢-------EXECUTE IMMEDIATE

例如:

     EXECUTE IMMEDIATE 'create table t1';

     EXECUTE IMMEDIATE 'select * from emp';

 

 遊標使用的例子:

 

--更新員工工資,sal低於3000的,加500(隱式遊標對象SQL)

DECLARE
  v_sal emp.sal%TYPE;
BEGIN
UPDATE emp SET sal=sal+500
WHERE sal<=3000;
dbms_output.put_line(SQL%Rowcount);
--COMMIT;
END;

 

 

--用顯式遊標打印各部門的信息(口訣:dofw)

DECLARE
CURSOR my_cus IS SELECT * FROM emp;
my_row my_cus%ROWTYPE;

BEGIN
    OPEN my_cus;
    FETCH my_cus INTO my_row;
    WHILE(my_cus%FOUND)
    LOOP
   
     dbms_output.put_line(my_row.ename||','||my_row.sal);
    
     FETCH my_cus INTO my_row;
    END LOOP;
   
    CLOSE my_cus;
END;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章