为何用游标无法取到全部记录

sbaiss sbaiss 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
tmp_ldl_sp表中有300多条记录,但用这个游标,每次也只能取到70条左右,哪位能帮忙看一下,不胜感激!


create or replace procedure P_VAC_SP_INSERT is
V_attr_id attr.attr_id%TYPE;
V_attr_value_id attr_value.attr_value_id%TYPE;
v_Errorcode Varchar2(20);
v_Errormsg Varchar2(1024);
i_Step Number;

CURSOR C_sp_code IS
SELECT party_id
FROM tmp_ldl_sp a
GROUP BY a.party_id;

begin

i_Step:=0;
dbms_output.put_line('begin');

SELECT a.attr_id
INTO V_attr_id
FROM attr a
WHERE a.attr_name LIKE '%SP Code%';

OPEN C_sp_code;
i_Step:=1;
FETCH C_sp_code INTO V_attr_value_id;
WHILE C_sp_code%FOUND LOOP

FETCH C_sp_code INTO V_attr_value_id;
dbms_output.put_line('V_attr_value_id=' || V_attr_value_id);
DBMS_OUTPUT.PUT_LINE('记录数:'|| C_sp_code %ROWCOUNT);
END LOOP;

CLOSE C_sp_code;

EXCEPTION
When Others Then
v_Errorcode := Sqlcode;
v_Errormsg := Sqlerrm;
Insert Into P_VAC_SP_INSERT_log
Values
(V_attr_value_id, i_Step, v_Errorcode, v_Errormsg, Sysdate);
Commit;

end P_VAC_SP_INSERT;
...全文

相关推荐

Mysql游标(循环操作)

Mysql游标(循环操作)

mp_ok

sqlserver游标使用步骤示例(创建游标 关闭游标)

游标(cursor)是一个存储在DBMS服务器上的数据库查询,它不是一条SELECT语句,而是被该语句检索出来的结果集。在存储了游标之后,应用程序可以根据需要滚动或浏览其中的数据。 使用游标 使用游标的步骤: 在使用游标前,必须声明(定义)它。这个过程实际上没有检索数据,它只是定义要使用的SELECT语句和游标选项。一旦声明,就必须打开游标以供使用。这个过程用前面定义的SELECT语句把数据实际检索出来。对于填有数据的游标,根据需要取出(检索)各行。在结束游标使用时,必须关闭游标,可能的话,释放游标(有赖于具体的DBMS)。声明游标后,可根据需要频繁地打开和关闭游标。在游标打开时,可根据需要频

weixin_38559727

SqlServer存储过程、游标讲解

SqlServer存储过程、游标讲解SqlServer存储过程、游标讲解

xiaodai511

Oracle显示游标的使用及游标for循环

下面给大家介绍在什么情况下用隐式游标,什么情况下用显示游标: 1.查询返回单行记录时→隐式游标; 2.查询返回多行记录并逐行进行处理时→显式游标 –显示游标属性 declare CURSOR cur_emp IS SELECT * FROM emp; row_emp cur_emp%ROWTYPE; BEGIN OPEN cur_emp; FETCH cur_emp INTO row_emp; WHILE cur_emp%FOUND LOOP dbms_output.put_line(row_emp.empno||'----'||row_emp.ename); FETCH cur_emp

weixin_38660069

Oracle 中使用 fetch bulk collect into 批量效率的读取游标数据

Oracle 中使用 fetch bulk collect into 批量效率的读取游标数据

yundonglucky
评论 9
收藏 已收藏
分享
返回顶部
sbaiss
非技术区 1,619 成员 5,564 内容