Oracle隐式游标和显式游标

本文详细介绍了Oracle中的游标概念,包括隐式游标和显式游标的使用方法及示例。通过具体的SQL代码演示了如何利用游标进行数据操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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显式游标属性

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值