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語句的擴展版本號。被參考變量可能是子程序內聲明的變量,或者是全局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

版權的@:轉載請注明出處!


版權聲明:本文博主原創文章。博客,未經同意不得轉載。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM