SELECT @local_variable (Transact-SQL)
SQL Server 2005
指定利用 DECLARE @local_variable 來建立的指定本機變數應該設成指定的運算式。
對於指派變數,我們建議您利用 SET @local_variable 來取代 SELECT @local_variable。如需詳細資訊,請參閱<SET @local_variable>。
A. 利用 SELECT @local_variable 來傳回單一值
在下列範例中,@var1 變數指派了 Generic Name 來作為值。針對 Store 資料表的查詢不會傳回任何資料列,因為資料表中並沒有指定給 CustomerID 的值。變數會保留 Generic Name 值。
USE AdventureWorks ; GO DECLARE @var1 nvarchar(30); SELECT @var1 = 'Generic Name'; SELECT @var1 = Name FROM Sales.Store WHERE CustomerID = 1000 ; SELECT @var1 AS 'Company Name';
以下為結果集:
Company Name ------------------------------ Generic Name
B. 使用 SELECT @local_variable 而沒有結果集,會傳回 Null
在下列範例中,利用子查詢來將值指派給 @var1。由於針對 CustomerID 所要求的值並不存在,因此,子查詢不會傳回任何值,變數會設為 NULL。
USE AdventureWorks ; GO DECLARE @var1 nvarchar(30) SELECT @var1 = 'Generic Name' SELECT @var1 = (SELECT Name FROM Sales.Store WHERE CustomerID = 1000) SELECT @var1 AS 'Company Name' ;
以下為結果集:
Company Name ---------------------------- NULL
社群新增項目
新增
顯示:

