oracle游标的基础应用,Oracle 基础的游标的使用

基础的游标的使用

-- Created on2017-01-03 星期二 by ADMINISTRATOR

declare

--申明游标

cursor mycursor is select * from emp;--list empPO

empInfo emp%rowtype;

begin

--游标操作使用循环,在操作之前需要把游标打开

open mycursor;

--使游标向下一行

fetch mycursor into empInfo;

--判断此行是否有数据被发现

while(mycursor%found) loop

dbms_output.put_line('雇员编号'||empInfo.empno);

-- dbms_output.put_line('雇员姓名'||empInfo.ename);

--修改游标 继续向下

fetch mycursor into empInfo;

end loop;

end;

第二种 代码少一点

-- Created on2017-01-03 星期二 by ADMINISTRATOR

declare

--申明游标

cursor mycursor is select * from emp;--list empPO

empInfo emp%rowtype;

cou number;

begin

--游标操作使用循环,在操作之前需要把游标打开

open mycursor;

loop

--使游标向下一行

fetch mycursor into empInfo;

exit when mycursor%notfound;--无数据时退出

dbms_output.put_line('雇员编号'||empInfo.empno);

end loop;

end;

注意点:

1、 打开游标前,先判断游标是否已经打开

通过isopen判断,格式:游标%ISOPEN

IF mycur%ISOPEN THEN

null ;

ELSE

OPEN mycur ;

END IF ;

2、使用rowcount 对游标所操作的行数进行记录

DECLARE

-- 声明游标

CURSOR mycur IS SELECT * FROM emp ;

empInfo emp%ROWTYPE ;

cou NUMBER ;

BEGIN

-- 游标操作使用循环,但是在操作之前必须先将游标打开

IF mycur%ISOPEN THEN

null ;

ELSE

OPEN mycur ;

END IF ;

LOOP

-- 使游标向下一行

FETCH mycur INTO empInfo ;

EXIT WHEN mycur%NOTFOUND ;

cou := mycur%ROWCOUNT ;

DBMS_OUTPUT.put_line(cou||'雇员编号:'||empInfo.empno) ;

DBMS_OUTPUT.put_line(cou||'雇员姓名:'||empInfo.ename) ;

END LOOP ;

END ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值