程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql存儲過程中變量的定義賦值操作

mysql存儲過程中變量的定義賦值操作

編輯:MySQL綜合教程

mysql中變量定義用declare來定義一局部變量,該變量的使用范圍只能在begin...end 塊中使用,變量必須定義在復合語句的開頭,並且是在其它語句之前,也可以同時申明多個變量,如果需要,可以使用default賦默認值。

昨天我們講了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存儲過程的條件的定義與處理。

注明,本站原創文章轉載注明來源http://www.bKjia.c0m/database/database.html

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved