IT技术网www.itjs.cn

当前位置:首页 > 数据库 > MySQL > 设置Transact-SQL变量中的值

设置Transact-SQL变量中的值

发布时间:2010-09-10 10:32 来源:未知

下文将教您如何设置Transact-SQL变量中的值,供您参考,假如您对SQL中变量使用方面感兴趣的话,不妨一看,相信对您有所帮助。

第一次声明变量时将此变量的值设为 NULL。若要为变量赋值,请使用 SET 语句。这是为变量赋值的较好的方法。也可以通过 SELECT 语句的选择列表中当前所引用值为变量赋值。

若要通过使用 SET 语句为变量赋值,请包含变量名和需要赋给变量的值。这是为变量赋值的较好的方法。例如,下面的批处理声明两个变量、对它们赋值并在 SELECT 语句的 WHERE 子句中予以使用:

USE Northwind

GO

-- Declare two variables.

DECLARE @FirstNameVariable NVARCHAR(20),

   @RegionVariable NVARCHAR(30)

-- Set their values.

SET @FirstNameVariable = N'Anne'

SET @RegionVariable = N'WA'

-- Use them in the WHERE clause of a SELECT statement.

SELECT LastName, FirstName, Title

FROM Employees

WHERE FirstName = @FirstNameVariable

   OR Region = @RegionVariable

GO

变量也可以通过选择列表中当前所引用的值赋值。假如在选择列表中引用变量,则它应当被赋以标量值或者 SELECT 语句应仅返回一行。例如:

USE Northwind

GO

DECLARE @EmpIDVariable INT

SELECT @EmpIDVariable = MAX(EmployeeID)

FROM Employees

GO

假如 SELECT 语句返回多行而且变量引用一个非标量表达式,则变量被设置为结果集最后一行中表达式的返回值。例如,在此批处理中将 @EmpIDVariable 设置为返回的最后一行的 EmployeeID 值,此值为 1:

USE Northwind

GO

DECLARE @EmpIDVariable INT

SELECT @EmpIDVariable = EmployeeID

FROM Employees

ORDER BY EmployeeID DESC

SELECT @EmpIDVariable

GO