显示游标
最近更新时间: 2025-02-18 16:02:00
用户构造和管理的游标是显式游标
显示游标支持以下属性
%FOUND | 只有在DML语句影响一行或者多行时,此属性才会返回true |
---|---|
%NOTFOUND | 与%FOUND作用相反,如果DML语句没有影响任何行,则此属性返回true |
%ROWCOUNT | 返回DML语句影响的行数。如果DML语句没有影响任何行,则返回0 |
%ISOPEN | 游标打开时返回true,游标关闭时返回false。隐式游标,此属性一直返回false |
示例:显示游标属性
DECLARE
v_empno EMPLOYEES.EMPLOYEE_ID%TYPE;
v_sal EMPLOYEES.Salary%TYPE;
CURSOR c_cursor IS SELECT EMPLOYEE_ID, Salary FROM EMPLOYEES;
BEGIN
OPEN c_cursor;
LOOP
FETCH c_cursor INTO v_empno, v_sal;
EXIT WHEN c_cursor%NOTFOUND;
IF v_sal<=2000 THEN
UPDATE EMPLOYEES SET Salary=Salary+50 WHERE EMPLOYEE_ID=v_empno;
DBMS_OUTPUT.PUT_LINE('编码为'||v_empno||'工资已更新!');
END IF;
DBMS_OUTPUT.PUT_LINE('记录数:'|| c_cursor%ROWCOUNT);
END LOOP;
DBMS_OUTPUT.PUT_LINE('总记录数:'|| c_cursor%ROWCOUNT);
CLOSE c_cursor;
if c_cursor%ISOPEN then
DBMS_OUTPUT.PUT_LINE('关闭游标失败');
else
DBMS_OUTPUT.PUT_LINE('关闭游标成功');
end if;
END;
/