Transact
SQL中可以使用兩種變量
一種是局部變量(Local Variable)另外一種是全局變量(Global Variable)
局部變量 局部變量是用戶可自定義的變量
它的作用范圍僅在程序內部
在程序中通常用來儲存從表中查詢到的數據
或當作程序執行過程中暫存變量使用
局部變量必須以
@
開頭
而且必須先用DECLARE命令說明後才可使用
其說明形式如下
DECLARE @變量名 變量類型 [@變量名 變量類型…]
其中變量類型可以是SQL Server
支持的所有數據類型
也可以是用戶自定義的數據類型
DECLARE命令的詳細用法請參見
其它命令
在Transact
SQL中不能像在一般的程序語言中一樣使用
變量=變量值
來給變量賦值
必須使用SELECT或SET命令來設定變量的值
其語法如下
SELECT@局部變量=變量值
SET @局部變量=變量值
例
聲明一個長度為
個字符的變量
id
並賦值
declare@id char(
)
select@id=
注意
可以在Select命令查詢數據時
在Select命令中直接將列值賦給變量
例
:查詢編號為
的員工和工資
將其分別賦予變量name和wage
例
use pangu
declare@name char(
)@wage money
select@name=e_name
@wage=e_wage
from employee
where emp_id=
select@name as e_name
@wage as e_wage
運行結果如下
e_name e_wage
張三
注意
數據庫語言和編程語言有一些關鍵字
關鍵字是在某一一樣下能夠促使某一操作發生的字符組合
為避免沖突和產生錯誤
在命令表
列
變量以及其它對象時應避免使用關鍵字
有關SQL Server的關鍵字請參見附錄
全局變量 全局變量是SQL Server系統內部使用的變量
其作用范圍並不局限於某一程序
而是任何程序均可隨時調用全局變量通常存儲一些SQL Server的配置設定值和效能統計數據
用戶可在程序中用全局變量來測試系統的設定值或Transact
SQL命令執行後的狀態值
有關SQL Server 全局變量的詳細情況請參見附錄
注意
全局變量不是由用戶的程序定義的
它們是在服務器級定應義的
只能使用預先說明及定義的變局變量
引用全局變量時
必須以
@@
開頭
局部變量的名稱不能與全局變量的名稱相同
否則會在應用中出錯
From:http://tw.wingwit.com/Article/program/Oracle/201311/18640.html