1. 程式人生 > >MySQL定義和變量賦值

MySQL定義和變量賦值

select 類型 param gin data HERE 一個表 arch exp

變量可以在子程序(性能、存儲過程、匿名塊)聲明和使用。這些變量的範圍是在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;

MySQL定義和變量賦值