程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL declare語句用法介紹

MySQL declare語句用法介紹

編輯:MySQL綜合教程

MySQL declare語句是我們經常用到的語句,下文就為您舉例說明了MySQL declare語句的用法,希望對您學習MySQL declare語句的使用能有所幫助。

MySQL declare語句是在復合語句中聲明變量的指令。

(1)Example with two DECLARE statements
兩個DECLARE語句的實例

  1. CREATE PROCEDURE p8 ()   
  2. BEGIN   
  3. DECLARE a INT;   
  4. DECLARE b INT;   
  5. SET a = 5;   
  6. SET b = 5;   
  7. INSERT INTO t VALUES (a);   
  8. SELECT s1 * a FROM t WHERE s1 >= b;   
  9. END; // /* I won't CALL this */   

在過程中定義的變量並不是真正的定義,你只是在BEGIN/END塊內定義了而已譯注:也就是形參)。注意這些變量和會話變量不一樣,不能使用修飾符@你必須清楚的在BEGIN/END塊中聲明變量和它們的類型。變量一旦聲明,你就能在任何能使用會話變量、文字、列名的地方使用。

(2)Example with no DEFAULT clause and SET statement
沒有默認子句和設定語句的例子

  1. CREATE PROCEDURE p9 ()   
  2. BEGIN   
  3. DECLARE a INT /* there is no DEFAULT clause */;   
  4. DECLARE b INT /* there is no DEFAULT clause */;   
  5. SET a = 5; /* there is a SET statement */   
  6. SET b = 5; /* there is a SET statement */   
  7. INSERT INTO t VALUES (a);   
  8. SELECT s1 * a FROM t WHERE s1 >= b;   
  9. END; // /* I won't CALL this */   

有很多初始化變量的方法。如果沒有默認的子句,那麼變量的初始值為NULL。你可以在任何時候使用SET語句給變量賦值。

(3)Example with DEFAULT clause
含有DEFAULT子句的例子

  1. CREATE PROCEDURE p10 ()   
  2. BEGIN   
  3. DECLARE a, b INT DEFAULT 5;   
  4. INSERT INTO t VALUES (a);   
  5. SELECT s1 * a FROM t WHERE s1 >= b;   
  6. END; //   

我們在這裡做了一些改變,但是結果還是一樣的。在這裡使用了DEFAULT子句來設定初始值,這就不需要把DECLARE和SET語句的實現分開了。 

(4)Example of CALL
調用的例子

  1. mysql> CALL p10() //   
  2. +--------+   
  3. | s1 * a |   
  4. +--------+   
  5. | 25 |   
  6. | 25 |   
  7. +--------+   
  8. 2 rows in set (0.00 sec)   
  9. Query OK, 0 rows affected (0.00 sec)   

結果顯示了過程能正常工作

(5) Scope
作用域

  1. CREATE PROCEDURE p11 ()   
  2. BEGIN   
  3. DECLARE x1 CHAR(5) DEFAULT 'outer';   
  4. BEGIN   
  5. DECLARE x1 CHAR(5) DEFAULT 'inner';   
  6. SELECT x1;   
  7. END;   
  8. SELECT x1;   
  9. END; //   

十大最值得注意的MySQL變量

MySQL系統變量的使用

NULL與MySQL空字符串的區別

深入研究MySQL結果字符串

MySQL截取字符串函數方法

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved