• 相关软件
    >SELECT @local_variable 创建者:webmaster 更新时间:2006-02-16 15:51

    指定将(使用 DECLARE @local_variable 创建的)给定的局部变量设置为指定的表达式。



    建议将 SET @local_variable 而不是 SELECT @local_variable 用于变量赋值。有关更多信息,请参见 SET @local_variable



    语法


    SELECT { @local_variable = expression } [ ,...n ]



    参数


    @local_variable



    是给其赋值的声明变量。



    expression



    是任何有效的 Microsoft® SQL Server™ 表达式,包括标量子查询。



    注释


    SELECT @local_variable 通常用于将单个值返回到变量中。例如,如果 expression 为列名,则返回多个值。如果 SELECT 语句返回多个值,则将返回的最后一个值赋给变量。



    如果 SELECT 语句没有返回行,变量将保留当前值。如果 expression 是不返回值的标量子查询,则将变量设为 NULL。



    在第一个示例中,将变量 @var1 赋给 Generic Name 作为它的值。在 Customers 表中不存在为 CustomerID 指定的值,因此对该表的查询不返回行。该变量将保留 Generic Name 值。



    USE Northwind
    DECLARE @var1 nvarchar(30)
    SELECT @var1 = 'Generic Name'

    SELECT @var1 = CompanyName
    FROM Customers
    WHERE CustomerID = 'ALFKA'

    SELECT @var1 AS 'Company Name'


    结果如下:



    Company Name
    ----------------------------------------
    Generic Name


    在下例中,子查询用于给 @var1 赋值。为 CustomerID 请求的值不存在,因此子查询不返回值并将该变量设为 NULL。



    USE Northwind
    DECLARE @var1 nvarchar(30)
    SELECT @var1 = 'Generic Name'

    SELECT @var1 =
      (SELECT CompanyName
      FROM Customers
      WHERE CustomerID = 'ALFKA')

    SELECT @var1 AS 'Company Name'


    结果如下:



    Company Name
    ----------------------------
    NULL


    一个 SELECT 语句可以初始化多个局部变量。



    说明  也不能使用包含变量赋值的 SELECT 语句执行规范结果集检索操作。

    相关文章
    本页查看次数: