Oracle游标基本知识点
游标概论:游标是一个私有的SQL工作区域,Oracle数据库中有两种游标,分别是隐式游标和显式游标, 隐式游标不易被用户和程序员察觉和意识到,实际上Oracle服务器使用隐式游标来解析和执行我们提交的SQL 语句;而显式游标是程序员在程序中显式声明的;通常我们说的游标均指显式游标。
SQL%ROWCOUNT 受最近的SQL语句影响的行数
SQL%FOUND 最近的SQL语句是否影响了一行以上的 数据
SQL%NOTFOUND 最近的SQL语句是否未影响任何数据
SQL%ISOPEN 对于隐式游标而言永远为FALSE
举例:
VARIABLE rows_deleted VARCHAR2(30) ;
DECLARE
v_employee_id employees.employee_id%TYPE := 176;
BEGIN
DELETE
FROM employees WHERE employee_id = v_employee_id;
:rows_deleted :=(SQL%ROWCOUNT || ' row deleted.');
END;
/ PRINT rows_deleted
显式游标:对于返回多行结果的SQL语句的返回结果,可使用显式游标独立的处理器中每一行的数据.
显式游标的相关函数可以做到:
1、一行一行的处理返回的数据。
2、保持当前处理行的一个跟踪,像一个指针一样指示当前的处理的记录。
3、允许程序员在PLSQL块中人为的控制游标的开启、关闭、上下移动