顯示游標
顯示游標屬性
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個元素所影響的行數