1. 程式人生 > >PL/SQL之遊標屬性詳解

PL/SQL之遊標屬性詳解

遊標屬性分為以下幾種:

cursor_name%FOUND:判斷最後一次FETCH抓取資料是否成功,成功為TRUE,否則為FALSE;

cursor_name%NOTFOUND:與%FOUND相反;

cursor_name%ISOPEN:判斷遊標是否開啟,開啟為TRUE,否則為FALSE;

cursor_name%ROWCOUNT:返回從遊標中讀取的記錄條數;

四大屬性綜合例項:

DECLARE
  --定義遊標
  CURSOR cursor_test 
  IS SELECT NAME,age FROM mytest;
  v_name mytest.name%TYPE;
  v_age mytest.age%TYPE;
BEGIN
  --開啟遊標
  OPEN cursor_test;
  --%isopen
  IF cursor_test%ISOPEN THEN
    DBMS_OUTPUT.PUT_LINE('遊標開啟');
  END IF;
  FETCH cursor_test INTO v_name,v_age;
  --%found
  WHILE cursor_test%FOUND LOOP
    DBMS_OUTPUT.PUT_LINE(v_name);
    DBMS_OUTPUT.PUT_LINE(v_age);
    --%rowcount
    DBMS_OUTPUT.PUT_LINE(cursor_test%ROWCOUNT);
    FETCH cursor_test INTO v_name,v_age;
  END LOOP; 
  --%notfound
  LOOP
    DBMS_OUTPUT.PUT_LINE('開始');
    EXIT WHEN cursor_test%NOTFOUND;
  END LOOP;
  --關閉遊標
  CLOSE cursor_test;
END;