您的位置:首頁 > 軟件資訊 > 編程技巧 > 數(shù)據(jù)庫
來源:北大青鳥飛迅校區(qū)|發(fā)布時間:2013-04-18 12:48:50
SQL語句中的變量:變量是一種語言中必不可少的組成部分。Transact-SQL語言中有兩種形式的變量,一種是用戶自己定義的局部變量,另外一種是系統(tǒng)提供的全局變量。
1. 局部變量
局部變量是一個能夠擁有特定數(shù)據(jù)類型的對象,它的作用范圍僅限制在程序內(nèi)部。局部變量被引用時要在其名稱前加上標志“@”,而且必須先用DECLARE命令定義后才可以使用。
定義局部變量的語法形式如下:
DECLAER {@local_variable data_type} […n]
其中,參數(shù)@local_variable用于指定局部變量的名稱,變量名必須以符號@開頭,并且局部變量名必須符合SQL Server的命名規(guī)則。參數(shù)data_type用于設(shè)置局部變量的數(shù)據(jù)類型及其大小。data_type可以是任何由系統(tǒng)提供的或用戶定義的數(shù)據(jù)類型。但是,局部變量不能是 text,ntext 或 image 數(shù)據(jù)類型。
使用DECLARE命令聲明并創(chuàng)建局部變量之后,會將其初始值設(shè)為NULL,如果想要設(shè)定局部變量的值,必須使用SELECT命令或者SET命令。其語法形式為:
SET { { @local_variable = expression } 或者 SELECT { @local_variable = expression } [ ,...n ]
其中,參數(shù)@local_variable是給其賦值并聲明的局部變量,參數(shù)expression是任何有效的SQL Server表達式。
變量是一種語言中必不可少的組成部分。Transact-SQL語言中有兩種形式的變量,一種是用戶自己定義的局部變量,另外一種是系統(tǒng)提供的全局變量。
2. 全局變量
除了局部變量之外,SQL Server系統(tǒng)本身還提供了一些全局變量。全局變量是SQL Server系統(tǒng)內(nèi)部使用的變量,其作用范圍并不僅僅局限于某一程序,而是任何程序均可以隨時調(diào)用。全局變量通常存儲一些SQL Server的配置設(shè)定值和統(tǒng)計數(shù)據(jù)。用戶可以在程序中用全局變量來測試系統(tǒng)的設(shè)定值或者是Transact-SQL命令執(zhí)行后的狀態(tài)值。在使用全局變量時應(yīng)該注意以下幾點:
(1)全局變量不是由用戶的程序定義的,它們是在服務(wù)器級定義的。
(2)用戶只能使用預(yù)先定義的全局變量。
(3)引用全局變量時,必須以標記符“@@”開頭。
(4)局部變量的名稱不能與全局變量的名稱相同,否則會在應(yīng)用程序中出現(xiàn)不可預(yù)測的結(jié)果。
全局變量舉例分析
例3-29 顯示到當前日期和時間為止試圖登錄SQL Server的次數(shù)。
程序清單如下:
SELECT GETDATE( ) AS '當前的時期和時間',
@@CONNECTIONS AS '試圖登錄的次數(shù)'
招生熱線: 4008-0731-86 / 0731-82186801
學校地址: 長沙市天心區(qū)團結(jié)路6號
Copyright © 2006 | 湖南大計信息科技有限公司 版權(quán)所有
湘ICP備14017520號-3