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函数引发系统异常。
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函数引发系统异常。