MySQL變數的定義與賦值,mysql變數賦值

來源:互聯網
上載者:User

MySQL變數的定義與賦值,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有錯誤的地方,請給予指正,非常感謝!

連絡方式:david.louis.tian@outlook.com

著作權@:轉載請標明出處!



MYSQL的觸發器中 變數賦值

SELECT @uc_id=user_head FROM et_users WHERE user_id=NEW.user_id;
 
簡單問題,急急急有正確答案,馬上給分 mysql中怎定義變數,並賦值

BEGIN
declare sqlStr_total varchar(500);

set sqlStr_total='select aaa, bbb from ';
if 條件 then
set sqlStr_total=concat(sqlStr_total,'×××……' , ‘×××……’);
end if;
####省略其他處理#####
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.