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

mysql 存儲進程中變量的界說與賦值操作

編輯:MySQL綜合教程

mysql 存儲進程中變量的界說與賦值操作。本站提示廣大學習愛好者:(mysql 存儲進程中變量的界說與賦值操作)文章只能為提供參考,不一定能成為您想要的結果。以下是mysql 存儲進程中變量的界說與賦值操作正文


1、變量的界說
mysql中變量界說用declare來界說一部分變量,該變量的應用規模只能在begin...end 塊中應用,變量必需界說在復合語句的開首,而且是在其它語句之前,也能夠同時聲名多個變量,假如須要,可使用default賦默許值。
界說一個變量語法以下:
declare var_name[,...] type[default value]看一個變量界說實例
declare last date;2、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。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved