首頁  >  文章  >  資料庫  >  MySQL儲存過程中的變數範圍是什麼意思?

MySQL儲存過程中的變數範圍是什麼意思?

王林
王林轉載
2023-08-26 16:49:11539瀏覽

MySQL儲存過程中的變數範圍是什麼意思?

假設如果我們在 BEGIN/END 區塊內宣告一個變量,那麼變數的範圍就會在這個特定的區塊中。我們也可以在另一個 BEGIN/END 區塊內宣告一個同名的變量,這將是完全合法的,但其範圍將在其 BEGIN/END 區塊內。可以藉助以下範例來理解這一點,在該範例中我們建立一個過程來顯示變數的範圍-

範例

mysql> Create Procedure Scope_variables()
    -> BEGIN
    -> DECLARE A Varchar(5) Default 'outer';
    -> BEGIN
    -> DECLARE A Varchar(5) Default 'inner';
    -> SELECT A;
    -> END;
    -> SELECT A;
    -> END;
    -> //
Query OK, 0 rows affected (0.08 sec)

在上面的過程中,我們有兩個同名的變量,即A。這裡,只要內部變數宣告在作用域內,它就會優先。重點是,當到達第一個 END 時,內部變數消失,稱為「超出範圍」。要理解這個概念,請按如下方式呼叫此過程 -

mysql> CALL Scope_variables();
+-------+
| A     |
+-------+
| inner |
+-------+
1 row in set (0.00 sec)

+-------+
| A     |
+-------+
| outer |
+-------+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.01 sec)

以上是MySQL儲存過程中的變數範圍是什麼意思?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除