mysql 預存程序中變數的定義與賦值操作

來源:互聯網
上載者:User

一、變數的定義
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。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.