游标是什么?就是在内存开辟的一块临时存储空间。
1.Oracle隐式游标
1.1Oracle有常用的哪些隐式游标
1.2 Oracle隐式游标演示
-- 隐式游标 (使用的表为Oracle默认自带的emp表)
-- sql%rowcount:影响记录条数 sql%found:是否有满足条件的记录
set serveroutput on;
declare
v_ename a_emp.ename%type;
begin
select ename into v_ename from a_emp where empno=7788;
if sql%found then
dbms_output.put_line(v_ename);
dbms_output.put_line(sql%rowcount);
end if;
end;
/
因此,我们所有都数据库的操作都是存在游标的。
2.Oracle显式游标
2.1显式游标语法
cursor 游标名称 is 选择语句;
2.2Oracle显式游标演示
-- 显式游标
declare
-- 创建一个游标
cursor cursor_a_emp is select empno,ename from a_emp;
-- 其他变量
v_empno a_emp.empno%type; --员工编号
v_ename a_emp.ename%type; --员工姓名
v_rowcount number; -- 员工人数
begin
-- 打开游标
open cursor_a_emp;
-- 计算游标中存储记录的条数
select count(*) into v_rowcount from emp;
-- 循环取出游标中的数据
for i in 1..v_rowcount loop
fetch cursor_a_emp into v_empno,v_ename;
dbms_output.put_line(v_empno);
dbms_output.put_line(v_ename);
dbms_output.put_line('=============================');
end loop;
-- 关闭游标
close cursor_a_emp;
end;
/
游标就是相当于一个临时表,并将这个表存储在内存中,使用完了就会释放掉。
2.3显式游标属性