写了个存储过程,过程中将需要得到的数据放在临时表中,最后打开游标
procedure Test(pntOUT OUT return_cur)
as
cnt integer(10);
BEGIN
cnt := 0;
loop
insert into tp04_flt (STOD, EXEC, FLNO, SSRMC, ACTT, TTYP, ADEP, ADES, ETOD, ETOA, ATOD, ATOA, CTD, RW_TM, ROUTE)
values ('...', '...', '...', '...', '...', 'S', '...', '...', '...', '...', '...', '', '', '', '...');
cnt := cnt + 1;
exit when cnt = 200;
end loop;
open pntOUT for
select * from tp04_flt;
end;
然后调用ODatabase db //db已连接
ODynaset dyn;
OParameterCollection params = db.GetParameters();
oresult res = db.ExecuteSQL(szSQL.c_str()); //szSQL是begin Test();end;
params.GetParameter("pntOUT").GetValue(&dyn);
结果发现dyn中始终只有101条数据,这是为什么呢?
也就是说返回的游标查询的是临时表时,数据库返回的结果集始终只有101条。
大家有碰到这种情况吗?
procedure Test(pntOUT OUT return_cur)
as
cnt integer(10);
BEGIN
cnt := 0;
loop
insert into tp04_flt (STOD, EXEC, FLNO, SSRMC, ACTT, TTYP, ADEP, ADES, ETOD, ETOA, ATOD, ATOA, CTD, RW_TM, ROUTE)
values ('...', '...', '...', '...', '...', 'S', '...', '...', '...', '...', '...', '', '', '', '...');
cnt := cnt + 1;
exit when cnt = 200;
end loop;
open pntOUT for
select * from tp04_flt;
end;
然后调用ODatabase db //db已连接
ODynaset dyn;
OParameterCollection params = db.GetParameters();
oresult res = db.ExecuteSQL(szSQL.c_str()); //szSQL是begin Test();end;
params.GetParameter("pntOUT").GetValue(&dyn);
结果发现dyn中始终只有101条数据,这是为什么呢?
也就是说返回的游标查询的是临时表时,数据库返回的结果集始终只有101条。
大家有碰到这种情况吗?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货