create or replace procedure zxb_test_fy_dy Authid Current_User is
varcursor sys_refcursor;
r ZT_T_ZB_JJHFJYTS_temp1_result%rowtype;
begin
/*
--1.需要创建一个游标接受表 ZT_T_ZB_JJHFJYTS_temp1_get 自定义创建,同时指明循环体内的字段
--2.需要提前创建一个结果表,因为游标变量定义时表必须存在。创建语句示例如下:--create table t_zb_jjhfjyts_mx_result as select t.*,1 fund_lengthb,1 FUND_HJ_LENGTHB,1 erro_ym,1 ym, from t_zb_jjhfjyts_mx t where 1 = 2
--3.存储的入参介绍 zxb_fy(table_name in VARCHAR2, --需要分页的表名
summation_column in varchar2, --自定义字段合并的规则
groupby_column in varchar2, --分组字段合集
base_select_column in varchar2, --查询字段合集
character_byte in varchar2, --按字符还是按照字节区分
character_byte_length in number, - character_byte_length in number, --字符字节的长度
presult out sys_refcursor) --输出的游标结果集
--示例如下:zxb_fy('t_zb_jjhfjyts_mx','FUND_NAME ||''(代码:'' || FUND_CODE || '')、''','branch_no, client_id','lengthb',4000,varcursor);
*/
execute immediate 'truncate table ZT_T_ZB_JJHFJYTS_temp1_get ';
commit;
zxb_fy('ZT_T_ZB_JJHFJYTS_temp1',
'FUND_NAME ||''(代码:'' || FUND_CODE || '')、''',
'branch_no, client_id,BEGIN_DATE_YMD',
'BRANCH_NO,CLIENT_ID,BEGIN_DATE_YMD,FUND_CODE,FUND_NAME',
'lengthb',
4000,
varcursor);
loop
fetch varcursor
into r;
exit when varcursor%notfound;
insert into ZT_T_ZB_JJHFJYTS_temp1_get
select r.BRANCH_NO,
r.CLIENT_ID,
r.BEGIN_DATE_YMD,
r.FUND_CODE,
r.FUND_NAME,
r.FUND_LENGTHB,
r.FUND_HJ_LENGTHB,
r.YM
from dual r;
commit;
end loop;
end zxb_test_fy_dy;
分页存储调用
于 2023-04-26 17:21:53 首次发布
447

被折叠的 条评论
为什么被折叠?



