游标(CURSOR)的使用

游标介绍:游标分为有参,和无参游标。
1.无参游标

CREATE OR REPLACE FUNCTION  FUNCTION_NAME(PARA1 IN VARCHAR2)
RETURN PARA_TYPE//返回参数类型
IS
//定义游标
/*
游标关键字--cursor
*/
CURSOR CURSOR_NAME IS 
SELECT T.col1,t.col2,t.col3  FROM  TABLE1 T 
WHERE T.COL1 = PARA1;
CURSOR_NAME_ROW  CURSOR%ROWTYPE;//定义了此游标的行--row 类型
BEGIN
 OPEN CURSOR_NAME;--游标开启
 LOOP
 FETCH CURSOR_NAME INTO CURSOR_NAME_ROW;--将值赋予每一行
 EXIT WHEN CURSOR_NAME%NOTFOUND;--当游标没有查询到值时,退出
 
 CURSOR_NAME.col2;--取值
 
 END LOOP;
 CLOSE CURSOR_NAME;
END;

2.有参游标

CREATE OR REPLACE FUNCTION  FUNCTION_NAME(PARA1 IN VARCHAR2)
RETURN PARA_TYPE//返回参数类型
IS
//定义游标
/*
游标关键字--cursor
*/
CURSOR CURSOR_NAME(P_PARA1 VARCHAR2,P_PARA2 VARCHAR2) IS --定义参数个数,类型
SELECT T.col1,t.col2,t.col3  FROM  TABLE1 T 
WHERE T.COL1 = P_PARA1
AND   T.COL2 = P_PARA2;
CURSOR_NAME_ROW  CURSOR%ROWTYPE;//定义了此游标的行--row 类型
BEGIN
 OPEN CURSOR_NAME(P_PARA1,P_PARA2);--游标开启时,并传入参数
 LOOP
 FETCH CURSOR_NAME INTO CURSOR_NAME_ROW;--将值赋予每一行
 EXIT WHEN CURSOR_NAME%NOTFOUND;--当游标没有查询到值时,退出
 
 CURSOR_NAME.col2;--取值
 
 END LOOP;
 CLOSE CURSOR_NAME;
END;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值