mysql 存儲過程中變量的定義與賦值操作
2024-07-24 12:40:38
供稿:網友
昨天我們講了mysql存儲過程創建修改與刪除,下面我們這篇教程是講關于mysql存儲過程中變量的定義賦值操作哦。 一、變量的定義 mysql中變量定義用declare來定義一局部變量,該變量的使用范圍只能在begin...end 塊中使用,變量必須定義在復合語句的開頭,并且是在其它語句之前,也可以同時申明多個變量,如果需要,可以使用default賦默認值。 定義一個變量語法如下: declare var_name[,...] type[default value]看一個變量定義實例 declare last date;二、mysql存儲過程變量賦值 變量的賦值可直接賦值與查詢賦值來操作,直接賦值可以用set來操作,可以是常量或表達式如果下 set var_name= [,var_name expr]...給上面的last變量賦值方法如下 set last = date_sub( current_date(),interval 1 month);下面看通過查詢給變量賦值,要求查詢返回的結果必須為一行,具體操作如下 select col into var_name[,...] table_expr我們來通過查詢給v_pay賦值。 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 $$ 好了,這篇簡單的存儲過程中變量的定義賦值教程就到這里了,下面我們會接著講關于myql存儲過程的條件的定義與處理。 以下是其它網友的補充 在MySQL的存儲過程中,可以使用變量,它用于保存處理過程中的值。 定義變量使用DECLARE語句,語法格式如下: DECLARE var_name[,...] type [DEFAULT value] 其中,var_name為變量名稱,type為MySQL支持的任何數據類型,可選項[DEFAULT value]為變量指定默認值。一次可以定義多個同類型的變量,各變量名稱之間以逗號“,”隔開。 定義與使用變量時需要注意以下幾點: ◆ DECLARE語句必須用在DEGIN…END語句塊中,并且必須出現在DEGIN…END語句塊的最前面,即出現在其他語句之前。 ◆ DECLARE定義的變量的作用范圍僅限于DECLARE語句所在的DEGIN…END塊內及嵌套在該塊內的其他DEGIN…END塊。 ◆ 存儲過程中的變量名不區分大小寫。 定義后的變量采用SET語句進行賦值,語法格式如下: SET var_name = expr [,var_name = expr] ... 其中,var_name為變量名,expr為值或者返回值的表達式,可以使任何MySQL支持的返回值的表達式。一次可以為多個變量賦值,多個“變量名=值”對之間以逗號“,”隔開。 例如: begin declare no varchar(20); declare title varchar(30); set no='101010',title='存儲過程中定義變量與賦值'; end 提示:存儲過程中所有的關鍵字也是不區分大小寫的,如BEGIN可以寫出begin