存儲(chǔ)過程中MySQL變量定義和賦值
MySQL變量定義和賦值是我們經(jīng)常會(huì)遇到的問題,下面就為您接受如何在存儲(chǔ)過程中MySQL變量定義和賦值,希望對(duì)您學(xué)習(xí)MySQL變量定義方面能有所啟迪。
一、MySQL變量的定義
mysql變量定義用declare來定義一局部變量,mysql 存儲(chǔ)過程中變量的定義與賦值操作,該變量的使用范圍只能在begin...end 塊中使用,變量必需定義在復(fù)合語句的開頭,并且系在其它語句之前,expr為值或者返回值的表達(dá)式,可使任何MySQL支持的返回值的表達(dá)式。一次可為多個(gè)變量賦值,也可同時(shí)申明多個(gè)變量,如該要,可使用default賦默認(rèn)值。
定義一個(gè)MySQL變量語法如下:
declare var_name[,...] type[default value]看一個(gè)變量定義實(shí)例
declare last date;
二、mysql存儲(chǔ)過程變量賦值
變量的賦值可直接賦值與查詢賦值來操作,直接賦值可用set來操作,可系常量或表達(dá)式如下
set var_name= [,var_name expr]...
給上面的last變量賦值方法如下
set last = date_sub( current_date(),interval 1 month);
下面看通過查詢給變量賦值,要求查詢返回的成果必需為一行,具體操作如下
select col into var_name[,...] table_expr。
create function get _cost(p_custid int,p_eff datetime)
return decimal(5,2)
deterministic
reads sql data
begin
declare v_pay decimail(5,2);
select ifnull( sum(pay.amount),0) into vpay from payment where pay.payd<=p_eff and pay.custid=pid
reutrn v_rent + v_over - v_pay;
end $$
好了,這篇簡單的存儲(chǔ)過程中變量的定義賦值教程就到這了。
【編輯推薦】