5,889
社区成员
发帖
与我相关
我的任务
分享
CREATE PROCEDURE DB2JHB.PUBDATAPAGED
(IN "PAGESIZ" INTEGER,
IN "PAGEINDEX" INTEGER,
IN "TBNAME" VARCHAR(10)
)
P1: begin
declare tmp_sql varchar(10000);
declare count_sql varchar(200);
declare tbname varchar(10);
declare tmp_conditions varchar(1000);
declare param_pagecount INTEGER;
declare v_Start INTEGER;
declare v_End INTEGER;
declare rcount integer;
declare pcount integer;
declare cur_return cursor with return for s1;
P2: begin
set tbname='mt_task';
set count_sql ='select count(*) into '||rcount||' from '||TBNAME;
prepare s2 from count_sql;
EXECUTE s2;
end P2;--问题就出在这块,这个表名是带过来的参数
set tmp_sql ='select w1.ecid,'||rcount||' from (select rownumber() over() as row,w.* from ( select * from mo_task ) w) w1,SYSIBM.SYSDUMMY1 where w1.row between ' || char(v_Start ) || ' and ' || char(v_End );
prepare s1 from tmp_sql;
open cur_return;
end P1;
DROP SPECIFIC PROCEDURE DB2JHB.SQL100317101702400;
#SYNC 10;
SET SCHEMA DB2JHB ;
SET CURRENT PATH = "SYSIBM","SYSFUN","SYSPROC","SYSIBMADM","DB2JHB";
CREATE PROCEDURE DB2JHB.PROTEST
(IN "TBNAME" CHARACTER(10)
)
SPECIFIC DB2JHB.SQL100317101702400
LANGUAGE SQL
NOT DETERMINISTIC
CALLED ON NULL INPUT
EXTERNAL ACTION
OLD SAVEPOINT LEVEL
MODIFIES SQL DATA
INHERIT SPECIAL REGISTERS
P1: BEGIN
declare str_sql varchar(1000);
declare str_count varchar(500);
declare rcount char(3);
p2: begin
set str_count='select count(*) into rcount from '||TBNAME;
prepare s2 from str_count;
EXECUTE s2;
end p2;
p3: begin
declare cur_return cursor with return for s1;
--set rcount='100';
set str_sql='select m.*,'||rcount||' as count from '||TBNAME ;
prepare s1 from str_sql;
open cur_return;
end p3;
END P1;
#SYNC 20;