變量可以在子程序(性能、存儲過程、匿名塊)聲明和使用。這些變量的范圍是在BEGIN...END規划。
變量的定義
語法格式:
DECLARE var_name [, var_name]... data_type [ DEFAULT value ];
var_name為局部變量的名稱;
DEFAULT value子句指定指定變量的默認值,value除了能夠被聲明為一個常量外,還能夠被指定為一個表達式。假設沒有DEFAULT子句,變量的初始值為NULL。
演示樣例:
DECLARE myparam INT DEFAULT 100;
變量賦值
定義變量以后。為變量賦值能夠改變變量的默認值。MySQL中使用SET語句為變量賦值。
在存儲程序中的SET語句是一般SET語句的擴展版本號。被參考變量可能是子程序內聲明的變量,或者是全局server變量。如系統變量或者用戶變量。
語法1:
SET var_name=expr [, var_name=expr]...;
演示樣例1:
聲明3個變量,分別為var1, var2和var3。數據類型為INT,使用SET為變量賦值
DECLARE var1, var2, var3 INT; SET var1=10, var2=20; SET var3=var1+var2;
語法2:SELECT INTO為變量賦值
SELECT INTO語法把選定的列直接存儲到相應位置的變量。
MySQL中還能夠通過SELECT...INTO為一個或者多個變量賦值,語法例如以下:
SELECT col_name[,...] INTO var_name[,...] table_expr [WHERE...];
演示樣例2:
聲明變量v_employee_name和v_employee_salary,通過SELECT...INTO語句查詢指定記錄並為變量賦值:
DECLARE v_employee_name VARCHAR(100); DECLARE v_employee_salary DECIMAL(8,4); SELECT employee_name, employee_salary INTO v_employee_name, v_employee_salary FROM employees WHERE employee_id=1;
------------------------------------------------------------------------------------------------------------------------
假設您們在嘗試的過程中遇到什么問題或者我的代碼有錯誤的地方,請給予指正。很感謝。
聯系方式:david.louis.tian@outlook.com
版權的@:轉載請注明出處!
版權聲明:本文博主原創文章。博客,未經同意不得轉載。