mysql 儲存過程動態拼接sql並執行賦值

2021-08-09 22:09:34 字數 757 閱讀 2176

處理拼接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 _num

end;;

如果是where 查詢 的話,直接就寫 不用拼接sql

select sum(fee) into _trade_fee_buy from btc_myzr where `coinname`=_xnb and addtime between _beg and _bend;

mysql 儲存過程變數拼接

有時候我們需要模糊查詢,但是同時我們又要 在模糊查詢的時候使用變數,我們又想在變數的後面拼接乙個 去匹配模糊查詢 那麼就會用到 concat函式 示例如下 select count id from config where name like concat studentname,其中student...

mysql字串拼接,儲存過程

mysql concat函式可以連線乙個或者多個字串,如 select concat 10 結果 10 select concat 11 22 33 結果 112233 mysql的concat函式在連線字串的時候,只要其中乙個是null,那麼將返回null select concat 11 22 ...

oracle儲存過程動態sql單引號拼接和變數拼接

在oracle中單引號主要有兩個作用 一是字串都用單引號引用,例如 abc 二是轉義符,轉義符在使用時一般會出現多個連在一起的單引號,相對難理解一些。下面舉例說明。例項1 select from dual 例項1結果 例項2 select oracle from dual 例項2結果 例項1解析 第...