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。保留所有权利。