代码改变世界

SQL SELECT @local_variable/SET @local_variable/DECLARE @local_variable

2009-06-26 14:10  蜡笔小旧  阅读(405)  评论(0编辑  收藏  举报

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

建议将 SET @local_variable 而不是 SELECT @local_variable 用于变量赋值。

在第一个示例中,将变量 @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 请求的值不存在,因此子查询不返回值并将该变量设为 NULLUSE Northwind
DECLARE @var1 nvarchar(30)
SELECT @var1 = 'Generic Name'

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

SELECT @var1 AS 'Company Name'
 
 
------------------------------
USE Northwind
GO
DECLARE @rows int
SET @rows = (SELECT COUNT(*) FROM Customers)
PRINT @rows

输入91

SET @local_variable

将先前使用 DECLARE @local_variable 语句创建的指定局部变量设置为给定的值。

A. 输出使用 SET 初始化的变量值

B. 在 SELECT 语句中使用由 SET 赋值的局部变量

C. 对全局游标使用 SET

D. 使用 SET 定义游标

E. 通过查询赋值

DECLARE @local_variable

在批处理或过程的正文中用 DECLARE 语句声明变量,并用 SET 或 SELECT 语句给其指派值。游标变量可通过该语句声明,并且可用在其它与游标相关的语句中。所有变量在声明后均初始化为 NULL。