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