1. 程式人生 > >MySQL數據庫8(二十五)變量作用域

MySQL數據庫8(二十五)變量作用域

圖片 沒有 http global 而且 局部作用域 數據庫 過程 會話

變量作用域

變量作用域:變量能夠使用的區域範圍

局部作用域

使用declare關鍵字聲明(在結構體內:函數/存儲過程/觸發器),而且只能在結構體內部使用。

declare關鍵字聲明的變量沒有任何符號修飾,就是普通字符串,如果在外部能夠訪問該變量,系統會自動認為是字段。

會話作用域

用戶定義的:使用@符號定義的變量,使用set關鍵字。

會話作用域:在當前用戶當次連接有效,只要在本連接之中,任何地方都可以使用(可以在結構內部,也可以跨庫)

會話變量可以在函數內部使用

技術分享圖片

會話變量可以跨庫

技術分享圖片

全局作用域

所有的客戶端所有的連接都有效,需要使用全局符號來定義

set global 變量名 = 值;

set @@global.變量名 = 值;

通常在SQL編程的時候,不會使用自定義變量來控制全局。一般都是定義會話變量或者在結構中使用局部變量來解決問題。

MySQL數據庫8(二十五)變量作用域