上一篇博客讲到了列类型,这篇就写下最最常用的PLSQL游标类型。游标:简单的说,我的理解就是行数据的集合,什么场景要用到呢?例如你要查询某个客户的信息,这个客户在数据库有多行的信息返回,但是在数据库处理海量的数据会比直接返回服务器端语言去解析再处理会更加方便(例如Java调用),我们查询到数据后,仍然需要遍历数据库查询到的数据,再处理,最后再返回到调用方。这时候,我们就需要用到这个游标。
如下给个简单的例子,如果有疑问可以留言,我会回复。
--显式游标的demo
--1,定义显式游标。2、打开游标。3、提取游标。4、关闭游标
--查询80号部门的员工信息
DECLARE
CURSOR cursor_emp IS SELECT * FROM employees WHERE department_id = 60;
v_emp employees %ROWTYPE;
BEGIN
--OPEN cursor_emp;
--FETCH cursor_emp INTO v_emp;
/* WHILE cursor_emp%FOUND LOOP
dbms_output.put_line(v_emp.employee_id||'---'||v_emp.last_name||'---'||v_emp.department_id);
FETCH cursor_emp INTO v_emp;
END LOOP;*/
FOR v_emp IN cursor_emp LOOP
dbms_output.put_line(v_emp.employee_id||'---'||v_emp.last_name||'---'||v_emp.department_id);
END LOOP;
-- CLOSE cursor_emp;
--EXCEPTION
--游标的for循环自动进行游标的打开、提取、关闭
END;