Transact-SQL局部變量和全局變量 數據庫
Transact-SQL中可使用兩種變量,一種是局部變量(Local Variable)另一種是全局變量(Global Variable)。
局部變量
局部變量是用戶可自定義的變量,它的做用範圍僅在程序內部。在程序中一般用來儲存從表中查詢到的數據,或看成程序執行過程當中暫存變量使用。局部變量必須以「@」開頭,並且必須先用DECLARE命令說明後纔可以使用。其說明形式以下:
DECLARE @變量名變量類型[@變量名變量類型…]
其中變量類型能夠是SQL Server 2000支持的全部數據類型,也能夠是用戶自定義的數據類型。
在Transact-SQL中不能像在通常的程序語言中同樣使用「變量=變量值」來給變量賦值。必須使用SELECT或SET命令來設定變量的值,其語法以下:
SELECT@局部變量=變量值
SET @局部變量=變量值
例:聲明一個長度爲10個字符的變量「id」並賦值
declare @id char(10)
select @id=‘10010001’ 編程
注意:能夠在Select命令查詢數據時,在Select命令中直接將列值賦給變量。例1:查詢座位號爲「3」的學員和年齡,將其分別賦予變量name和age。 服務器
例1
usestuDB 編程語言
declare@namevarchar(8) 測試
declare@ageint rest
select@name=stuName,@age=stuAgefromstuInfowherestuSeat=3 對象
select@nameas 姓名,@ageas 年齡
運行結果以下:
姓名 年齡 變量
-------- ----------- 配置
李文才 31 select
注意:數據庫語言和編程語言有一些關鍵字,關鍵字是在某一同樣下可以促使某一操做發生的字符組合,爲避免衝突和產生錯誤,在命令表、列、變量以及其它對象時應避免使用關鍵字。
全局變量
全 局變量是SQL Server系統內部使用的變量,其做用範圍並不侷限於某一程序,而是任何程序都可隨時調用全局變量一般存儲一些SQL Server的配置設定值和效能統計數據。用戶可在程序中用全局變量來測試系統的設定值或Transact-SQL命令執行後的狀態值。有關SQL Server全局變量的詳細狀況請參見附錄。
注意:全局變量不是由用戶的程序定義的,它們是在服務器級定應義的。只能使用預先說明及定義的變局變量。引用全局變量時,必須以「@@」開頭。局部變量的名稱不能與全局變量的名稱相同、不然會在應用中出錯。