DB2通用翻页存储过程

  发布时间:2025-11-04 10:43:18   作者:玩站小弟   我要评论
复制CREATEPROCEDUREKYJT.USP_A_FY(INPTBLNAMEVARCHAR(1000),--表名 INPSHOWNAMEVARCHAR(1000),--需 。
DB2通用翻页存储过程
复制CREATEPROCEDURE KYJT.USP_A_FY(IN PTBLNAME VARCHAR(1000),通用 --表名 IN PSHOWNAME VARCHAR(1000), -- 需要显示字段名 IN PFLDNAME VARCHAR(1000), --字段名(主表主键,不可重复) IN PPAGESIZE INTEGER,翻页 -- 页尺寸 如果为0 默认返回前一千万条数据 可以认为是免费信息发布网返回所有数据 IN PPAGEINDEX INTEGER,--页码 IN PORDERTYPE INTEGER, --设置排序类型, 非 0 值则降序(按主键排序) IN PSTRWHERE VARCHAR(1000) --查询条件 (注意: 不要加 WHERE) )   MODIFIES SQL DATA   DETERMINISTIC   LANGUAGE SQL   BEGIN /**//*---------------------------------------------------------------- * Copyright (C) 2006 笑疯   * 版权所有。IT技术网    *    * 过程功能描述:   * 多功能通用翻页查询语句(DB2)    *    * 创建标识:longping520@126.com(2006-5-1修改)   *    //-----------------------------------------------------------------------*/ DECLARE C_STRSQL VARCHAR(6000); -- 主语句 DECLARE C_STRTMP VARCHAR(100); -- 临时变量 DECLARE C_STRORDER VARCHAR(400); -- 排序类型 DECLARE bill_task CURSORWITHRETURNTO CALLER FOR S1;   --SET PSHOWNAME = PSHOWNAME || ,存储 || PFLDNAME; IF (PPAGEINDEX=0) THEN SET PPAGEINDEX = 1;   END IF;   IF (PPAGESIZE=0) THEN SET PPAGESIZE = 10000000;   END IF;   -- 设置排序规则 IF (PORDERTYPE<>0) THEN SET C_STRTMP = <(SELECT MIN;   SET C_STRORDER =  ORDER BY  || PFLDNAME ||  DESC;   ELSE SET C_STRTMP = >(SELECT MAX;   SET C_STRORDER =  ORDER BY  || PFLDNAME ||  ASC;   END IF;   -- SET C_STRSQL = SELECT  || PSHOWNAME ||  FROM || PTBLNAME ||  WHERE  || PFLDNAME ||  || C_STRTMP || ( || TBLTMP.TTT ) FROM (SELECT  || PFLDNAME ||  AS TTT FROM  || PTBLNAME ||  || C_STRORDER ||  FETCH FIRST  || CHAR((PPAGEINDEX-1)*PPAGESIZE) ||  ROWS ONLY) AS TBLTMP) || C_STRORDER ||  FETCH FIRST  || CHAR(PPAGESIZE) ||  ROWS ONLY;   -- IF (PSTRWHERE <> ) THEN SET C_STRSQL = SELECT  || PSHOWNAME ||  FROM || PTBLNAME ||  WHERE  || PFLDNAME ||  || C_STRTMP || ( || TBLTMP.TTT ) FROM (SELECT  || PFLDNAME ||  AS TTT FROM  || PTBLNAME ||  WHERE  || PSTRWHERE || || C_STRORDER ||  FETCH FIRST  || CHAR((PPAGEINDEX-1)*PPAGESIZE) ||  ROWS ONLY) AS TBLTMP) AND  || PSTRWHERE ||  || C_STRORDER ||  FETCH FIRST  || CHAR(PPAGESIZE) ||  ROWS ONLY;   END IF;   -- IF (PPAGEINDEX=1) THEN SET C_STRTMP = ;   IF (PSTRWHERE <> ) THEN SET C_STRTMP =  WHERE  || PSTRWHERE;   END IF;   SET C_STRSQL = SELECT  || PSHOWNAME ||  FROM || PTBLNAME ||  || C_STRTMP ||  || C_STRORDER ||  FETCH FIRST  || CHAR(PPAGESIZE) ||  ROWS ONLY;   END IF;   PREPARE S1 FROM C_STRSQL;   --OPEN C_STRSQL; --EXECUTE S1; OPEN bill_task;   END 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.63.64.65.66.67.68.69.70.71.72.站群服务器
  • Tag:

相关文章

  • 电脑磁盘数据错误循环的原因及解决方法(解析数据错误循环背后的故事,如何解决这一问题)

    摘要:电脑磁盘出现数据错误循环是许多用户面临的常见问题之一。这一问题可能导致文件损坏或丢失,给用户带来诸多不便。本文将深入探讨数据错误循环的原因,并提供一些有效的解决方法,帮助用户快速解...
    2025-11-04
  • 域名转入要多长时间?

    将你的域名从一个注册商转移到另一个注册商要多长时间?或者刚刚购买了一个域名,想知道需要多久才能完成转入?域名转入的过程其实并不复杂,但时间的长短却可能因不同的情况而有所不同。下面就来介绍域名转入的时间
    2025-11-04
  • Deno 加入 ECMA ,共同制定 JavaScript 标准

    Deno 是 Node.js 之父 Ryan Dahl 建立的公司,旨在成为现代 JavaScript 开发人员的最佳运行时,为服务器端 JavaScript 注入新生命。Deno 并不是一个固定的庞
    2025-11-04
  • Openharmony 测试用例指导大全

    想了解更多内容,请访问:和华为官方合作共建的鸿蒙技术社区https://harmonyos.51cto.com该文档演示:编写一个动态库libmoduleb_lib.z.so , 然后编写一个测试可执
    2025-11-04
  • 用电脑合成人物剪纸,打造独特的手工艺品(电脑合成剪纸教程,手工艺品新潮流)

    摘要:剪纸作为一种传统的手工艺品,一直以来都备受人们的喜爱。而随着科技的发展,电脑合成人物剪纸成为了一种新的手工艺品制作方式。通过电脑技术的辅助,我们可以创造出更加精细、更加独特的剪纸作...
    2025-11-04
  • 什么是域名中介?域名中介的功能

    在数字化时代,域名作为互联网的“地址”,承载着企业和个人的在线身份。随着互联网的迅猛发展,域名的需求日益增加,随之而来的是域名中介这一行业的兴起。域名中介在域名交易、管理和咨询等方面发挥着重要作用,成
    2025-11-04

最新评论