下面將為您詳解Transact-SQL變量的聲明,供您參考,使用DECLARE 語句可以通過以下操作初始化Transact-SQL變量:
指派名稱。名稱的第一個字符必須為@。
指派系統提供或用戶定義的數據類型和長度。對於數字變量還指定精度和小數位數。
將值設置為 NULL。
說明 對局部變量使用系統提供的數據類型可盡可能減少將來的維護問題。
例如,下面的 DECLARE 語句使用 int 數據類型創建名稱為 @mycounter 的局部變量。
DECLARE @MyCounter INT
若要聲明多個局部變量,請在定義的第一個局部變量後使用一個逗號,然後指定下一個局部變量名稱和數據類型。
例如,下面的 DECLARE 語句創建三個局部變量,名稱分別為 @last_name、@fname 和 @state,並將每個變量初始化為 NULL:
DECLARE @LastName NVARCHAR(30), @FirstName NVARCHAR(20), @State NCHAR(2)
變量的作用域為可以引用該變量的 Transact-SQL 語句范圍。SQL變量的作用域從聲明變量的地方開始到聲明變量的批處理或存儲過程的結尾。例如,下面腳本產生語法錯誤,因為在一個批處理中所引用的SQL變量是在另一個批處理中定義的:
DECLARE MyVariable INT
SET @MyVariable = 1
GO -- This terminates the batch.
-- @MyVariable has gone out of scope and no longer exists.
-- This SELECT statement gets a syntax error because it is
-- no longer legal to reference @MyVariable.
SELECT *
FROM Employees
WHERE EmployeeID = @MyVariable