显示游标
显示游标属性
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个元素所影响的行数