变量: 赋值 的几种方法

from SQL-Server documentation
示例
A. 输出使用 SET 初始化的变量值

下例创建 @myvar 变量,将一个字符串值放在变量中,并输出 @myvar 变量的值。

DECLARE @myvar char(20)
SET @myvar = 'This is a test'
SELECT @myvar
GO
B. 在 SELECT 语句中使用由 SET 赋值的局部变量

下例创建一个名为 @state 的局部变量,并在 SELECT 语句中使用该局部变量查找居住在犹他州的所有作者的姓名。

USE pubs
GO
DECLARE @state char(2)
SET @state = 'UT'
SELECT RTRIM(au_fname) + ' ' + RTRIM(au_lname) AS Name, state
FROM authors
WHERE state = @state
GO
C. 对全局游标使用 SET

下例创建一个局部变量,然后将游标变量设置为全局游标名。

DECLARE my_cursor CURSOR GLOBAL FOR SELECT * FROM authors
   DECLARE @my_variable CURSOR 
   SET @my_variable = my_cursor  
                      /* There is a GLOBAL declared
                         reference (my_cursor) and a LOCAL variable
                         reference (@my_variable) to the my_cursor
                         cursor.                                    */
   DEALLOCATE my_cursor  /* There is now only a LOCAL variable
                         reference (@my_variable) to the my_cursor
                         cursor.                                    */
D. 使用 SET 定义游标

下例使用 SET 语句定义游标。

DECLARE @CursorVar CURSOR

SET @CursorVar = CURSOR SCROLL DYNAMIC
FOR
SELECT LastName, FirstName
FROM Northwind.dbo.Employees
WHERE LastName like 'B%'

OPEN @CursorVar

FETCH NEXT FROM @CursorVar
WHILE @@FETCH_STATUS = 0
BEGIN
    FETCH NEXT FROM @CursorVar
END

CLOSE @CursorVar
DEALLOCATE @CursorVar
E. 通过查询赋值

下例使用查询给变量赋值。

USE Northwind
GO
DECLARE @rows int
SET @rows = (SELECT COUNT(*) FROM Customers)

请参见

DECLARE @local_variable

EXECUTE

表达式

SELECT

SET

使用变量和参数

©1988-2000 Microsoft Corporation。保留所有权利。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值