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

来源:互联网 发布:淘宝外卖商家app叫什么 编辑:程序博客网 时间:2024/05/20 09:06
处理拼接sql并且是在select查询拼接时的赋值:
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 _numEND;;



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

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