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

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

王林
發布: 2023-08-26 16:49:11
轉載
627 人瀏覽過

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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板