zoukankan      html  css  js  c++  java
  • mysql存储过程

    mysql 查询如下:
    SELECT 
      b.memberId,
      b.memberName,
      aa.orderid,
      aa.productid,
      aa.productname,
      aa.other,
      aa.num,
      c.paytime 
    FROM
      (SELECT 
        a.orderid,
        a.productid,
        a.productname,
        a.other,
        SUM(a.number) num 
      FROM
        pengcz_order.order_details_b2b a 
      GROUP BY a.orderid,
        a.productid,
        a.productname,
        a.other) aa,
      pengcz_order.`order_current` b,
      pengcz_order.`order_paymoney` c 
    WHERE aa.`orderId` = c.`orderId` 
      AND aa.orderid = b.orderid
      AND aa.productid ='3952584' LIMIT 1,20;
    
    转换成存储过程如下:
    DELIMITER $$
    
    USE `pengcz_order`$$
    
    DROP PROCEDURE IF EXISTS `pub_shopProductRecordByProductId`$$
    CREATE
        DEFINER = `root`@`%` 
        PROCEDURE `pengcz_order`.`pub_shopProductRecordByProductId`(IN productId VARCHAR(50),IN page INT,IN pagesize INT)
        COMMENT '根据产品id获取成交记录'
        BEGIN
        /**
         * 创建临时表
         * 用于存放订单交易快照明细表查出来的集合
         */
         DROP TABLE IF EXISTS `detail`;
         CREATE TEMPORARY TABLE `detail` (
        `orderId` VARCHAR(45) NOT NULL,
        `productId` VARCHAR(36) NOT NULL,
        `productName` VARCHAR(200) NULL,
        `other` VARCHAR(200) NULL,
        `num` INT(11) NOT NULL DEFAULT '0'
         );
         SET @SQL=CONCAT("insert into `detail` select `orderId`,`productId`,`productName`,`other`,SUM(number) from `pengcz_order`.`order_details_b2b` group by `orderId`,`productId`,`productName`,`other`");
         PREPARE m FROM @SQL;
         EXECUTE m;
         DEALLOCATE PREPARE m;
         /**
          * 使用临时表做查找
          */
         SET @SQL=CONCAT("select b.memberId,b.memberName,a.orderid,a.productid,a.productname,a.other,a.num,c.paytime from `detail` a,pengcz_order.`order_current` b,pengcz_order.`order_paymoney` c where a.`orderId` = c.`orderId` AND a.orderid = b.orderid AND a.productid ='",productId,"' limit ",page,",",pagesize);
         PREPARE m FROM @SQL;
         EXECUTE m;
         DEALLOCATE PREPARE m;
         /**
          * 清理临时表
          */
        DROP TABLE `detail`;
        END$$
    
    DELIMITER ;
    
    
    CALL pub_shopProductRecordByProductId('3952584',1,20);
  • 相关阅读:
    Python String Methods
    python 文件命名与系统文件同名引起的运行错误
    Python cmd 中文显示乱码
    pyqt4 串口通信 自动化测试
    Python 判断字符串是否包含子字符串
    python time 显示
    pyqt4 UI界面显示乱码
    QtDesigner PyQt4 Python
    FuzzScanner 信息收集小工具
    winrar+目录穿透复现
  • 原文地址:https://www.cnblogs.com/pengcz/p/5647796.html
Copyright © 2011-2022 走看看