直接上代码,具体整体函数定义就不上了,只写关键部分: --定义两个变量 DECLARE CCUR REFCURSOR; -- 游标变量 RECORD1 RECORD; -- 记录变量,用来存储游标遍历的结果 BEGIN OPEN CCUR FOR EXECUTE 'select * from table1'; -- 打开并执行游标的查询 LOOP -- 遍历 FETCH CCUR INTO RECORD1; -- 获取游标的内容 IF FOUND THEN -- 判断有内容 --- 相关语句 E
存储过程中查询语句如何返回多行结果? 我们知道,如果存储过程中查询语句有多行结果输出,会报错:ORA-01422: exact fetch returns more than requested number of rows 若想让存储过程中的查询语句返回多行结果不报错,则需要使用游标来实现. 本例主要也是用来熟悉存储过程中游标的简单使用方法.案例所涉及的数据表使用的是oracle自带的scott用户. 1.打开输出选项 SET SERVEROUTPUT ON; 2.创建查询员工薪水的存储过程