# 變數
/*系統變數
全域性變數
會話變數
自定義變數
使用者變數
區域性變數
*/# 一。系統變數
# 變數由系統提供,不由使用者定義,屬於伺服器層面
/*使用語法:(不寫global,session預設使用會話變數)
1. 檢視所有系統變數
show global variables; # 檢視全域性變數
show 【session】 variables; # 檢視會話變數
2. 檢視滿足條件的部分系統變數
show global variables like 'char';
show 【session】 variables like 'char';
3. 檢視指定的某個系統變數
select @@global.系統變數名;
select @@【session.】系統變數名;
4. 為某個具體的系統變數賦值
# 方式1
set 【session.】系統變數名=值; # 為會話變數賦值
set global.系統變數名=值 # 為系統變數賦值
#方式2
set global.系統變數名=值;
set 【session.】系統變數名=值;
*/show global variables; # 檢視全域性變數
show session variables; # 檢視會話變數
/*全域性變數作用域:伺服器每次啟動時將為所有的全域性變數賦初始值,
賦值對所有會話(連線)都有效,但不能跨重啟
會話變數作用域:僅僅針對於當前會話有效,,修改時也僅修改當前會話/連線的值
*/
# 自定義變數
/*說明:變數由使用者自定義,不由系統直接提供,
使用方式相對靈活,使用較多
使用步驟:
1. 宣告
2. 賦值
3. 使用(檢視,比較,運算等)
*/# 使用者變數
/*作用域:針對當前會話/連線有效,同於會話變數的作用域
可以應用在任何地方
*/# 使用者變數宣告時必須同時初始化(賦初值)
# 三種初始化方法
set @使用者變數名=值;
set @使用者變數名:=值;
select @使用者變數名:=值;
set @v1=20;
# 賦值或更新使用者變數的值
set @使用者變數名=值;
set @使用者變數名:=值;
select @使用者變數名:=值;
# 下面這種方式也可以用來賦值,只要保證選則出的結果是乙個值而不是列表即可
select 字段 into @變數名
from 表;
set @v1:=35;
# 使用/檢視使用者變數值
select @使用者變數名;
select @v1;
# 區域性變數
/*作用域:只在區域性有效,即定義它的begin end中有效
應用在begin end中,並且只能在其中的第一句位置
*/# 宣告:
declare 變數名 資料型別;
# 宣告並初始化
declare 變數名 資料型別 default 值;
# 賦值,與使用者變數的區別在於不需要在變數名前加@了(select除外)
set 區域性變數名=值;
set 區域性變數名:=值;
select @區域性變數名:=值;
# 下面這種方式也可以用來賦值,只要保證選則出的結果是乙個值而不是列表即可(不需要加@)
select 字段 into 區域性變數名
from 表;
# 使用
select 區域性變數名;
資料庫學習 18 變數
說明 變數由系統定義,不是使用者定義,屬於伺服器層面。注意 全域性變數需要新增global關鍵字,會話變數需要新增session關鍵字,如果不寫,缺省會話級別。使用步驟 1 檢視所有系統變數 show global variables 檢視全域性變數 show session variables 檢...
八 資料庫之變數
檢視系統變數 檢視所有的系統變數 show global session variables 檢視滿足條件的系統變數 show global session variables like 如果沒有顯式宣告global還是session,則預設是session 檢視指定的系統變數的值 select g...
資料庫物件 游標型變數
定義 ref cursor 型別 建立游標變數有兩個步驟 1 定義 ref cursor 型別 語法格式 type ref type name is ref cursor return return type 說明 ref type name 是游標變數中使用的型別 return type 必須是乙...