码迷,mamicode.com
首页 > 数据库 > 详细

mysql 存储过程动态拼接sql并执行赋值

时间:2019-01-10 22:59:17      阅读:664      评论:0      收藏:0      [点我收藏+]

标签:cut   执行   har   current   tween   select   ddt   concat   sql   

CREATE DEFINER = CURRENT_USER PROCEDURE `NewProc`(in _xnb varchar(50))
BEGIN
    ## 定义变量
    DECLARE _num FLOAT(14,6) DEFAULT 0;
    ## @表示全局变量 相当于php $
    ## 拼接赋值 INTO 必须要用全局变量不然语句会报错
    SET @strsql = CONCAT(SELECT SUM(,_xnb,) INTO @tnum FROM btc_user_coin);
    ## 预处理需要执行的动态SQL,其中stmt是一个变量
    PREPARE stmt FROM @strsql;  
    ## 执行SQL语句
    EXECUTE stmt;  
    ## 释放掉预处理段
    deallocate prepare stmt;
    ## 赋值给定义的变量
    SET _num = @tnum;
    
    SELECT _num
 
END;;

如果是where 查询 的话,直接就写 不用拼接sql

SELECT SUM(fee) INTO _trade_fee_buy FROM btc_myzr WHERE `coinname`=_xnb AND addtime BETWEEN _beg AND _bend;

 

mysql 存储过程动态拼接sql并执行赋值

标签:cut   执行   har   current   tween   select   ddt   concat   sql   

原文地址:https://www.cnblogs.com/pejsidney/p/10252660.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!