Oracle隐式游标和显式游标

来源:互联网 发布:js解析json数组 map 编辑:程序博客网 时间:2024/05/16 10:53

游标是什么?就是在内存开辟的一块临时存储空间。

1.Oracle隐式游标

1.1Oracle有常用的哪些隐式游标

这里写图片描述

1.2 Oracle隐式游标演示

-- 隐式游标 (使用的表为Oracle默认自带的emp表)-- sql%rowcount:影响记录条数   sql%found:是否有满足条件的记录set serveroutput on;declarev_ename a_emp.ename%type;beginselect 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显式游标属性

这里写图片描述