• python 处理oracle 分页查询


    python 处理oracle 分页查询

    # SQL语句
      sql = '''SELECT *
         FROM (SELECT B.*, ROWNUM AS rowno
         FROM (
             SELECT id, value, name from T_table
             WHERE name like '%{name }%'
             ORDER BY id desc) B
         WHERE ROWNUM <= {endnum}) table_alias
         WHERE table_alias.rowno >= {startnum}'''
    
    
    # python 查询
    def isNumber(num):
        '''
        判断是否为数字
        :param num:
        :return:
        '''
        pattern = re.compile(r'^[-+]?[-0-9]d*.d*|[-+]?.?[0-9]d*$')
        result = pattern.match(str(num))
        if result:
            return True
        else:
            return False
    
    def page_set(pageNum,pageSize):
        '''
        oracle 查询,分页处理
        :param pageNum:
        :param pageSize:
        :return:
        '''
        if not isNumber(pageNum):
            pageNum = 0
        if not isNumber(pageSize):
            pageSize = 0
        pageNum = int(pageNum)
        pageSize = int(pageSize)
        startnum = pageNum * pageSize
        if pageNum > 0:
            startnum = (pageNum - 1) * pageSize
        endnum = startnum + pageSize
        return startnum, endnum
    
    def get_query(name,pageNum,pageSize):
        startnum, endnum = page_set(pageNum,pageSize)
        sql = sql.format(name=name,startnum=startnum,endnum=endnum)
        lines = db.search(sql)
        ..... # 处理查询结果
    
    if __name__ == '__main__':
        get_query(name,pageNum,pageSize)
  • 相关阅读:
    Django知识总结(一)
    Django知识总结(二)
    Django知识总结(三)
    机器学习领域主要术语的英文表达
    Python的进程与线程--思维导图
    MySQL数据库--思维导图
    5.18 每日小三练
    5.14 每日小三练
    5.12 每日小三练
    5.9 每日小三练
  • 原文地址:https://www.cnblogs.com/snailgirl/p/14447400.html
Copyright © 2020-2023  润新知