oracle游标打开方式

CURSOR cur1 IS SELECT a,b,c FROM dual;
SELECT 语句可以是多个表,视图

方式一:打开游标,开始循环,从游标中取值,那一行被返回,处理,关闭循环,关闭游标
        open cur1
            loop --循环游标
            fetch cur1 into v_a,v_b,v_c;--提取数据,一次返回指针所指一行位置,
                                                  --%ROWTYPE可记录一行记录
            exit when cur1%NOTFOUND;
            --对 v_a,v_b,v_c进行操作
            ...........
            close cur1
            end loop;

方式二:节省了打开游标,取值,关闭游标
           FOR v_cur IN cur1 LOOP
           对v_cur.a,v_cur.b,v_cur.c进行操作
            ..........
            END LOOP;

推荐使用第二中放松来打开游标。
游标属性              返回值类型                      意义
%ROWCOUNT     整型                              获得FETCH语句返回的数据行数
%FOUNT             布尔型                           最近FETCH语句返回一行数据则为真,否则为假
%NOTFOUNT       布尔型                           与%FOUNT属性返回值相反
%ISOPEN             布尔型                           游标已经打开时值为真,否则为假

动态游标
execute immediate 查询语句字符串 into 变量1,变量2,。。。

使用RAISE_APPLICATION_ERROR函数引发系统异常。

猜你喜欢

转载自onetodo.iteye.com/blog/1607774
今日推荐