標籤:mysql 定義變數 變數 變數賦值
變數可以在子程式(函數、預存程序、匿名塊)中聲明並使用,這些變數的作用範圍是在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語句的擴充版本。被參考變數可能是子程式內聲明的變數,或者是全域伺服器變數,如系統變數或者使用者變數。
文法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_salaryINTO v_employee_name, v_employee_salaryFROM employeesWHERE employee_id=1;
------------------------------------------------------------------------------------------------------------------------
如果您們在嘗試的過程中遇到什麼問題或者My Code有錯誤的地方,請給予指正,非常感謝!
連絡方式:[email protected]
著作權@:轉載請標明出處!
MySQL變數的定義與賦值