繁体   English   中英

如何在T-SQL中将查询结果分配给局部变量

[英]how to assign query result to local variable in T-SQL

我需要将多列的查询结果存储/分配给局部变量

例如;

declare @localVariable

select @localVariable = userId, userName, email, address 
from user;

相信以上代码不正确!

您需要为此声明一个表变量:

DECLARE @localVariable AS TABLE
(
    userId int,
    userName varchar(10),
    email nvarchar(100),
    address nvarchar(1000)
);

INSERT INTO @localVariable (userId, userName, email, address)
SELECT userId, userName, email, address
FROM [user];

您不能在select语句中混合使用变量赋值和数据检索。 这将不起作用:

DECLARE @localVariable INT;
SELECT TOP 1 @localVariable = userId, userName FROM user;

但这将:

-- copy values from multiple columns to variables
DECLARE @localVariable1 INT;
DECLARE @localVariable2 VARCHAR(100);
SELECT TOP 1 @localVariable1 = userId, @localVariable2 = userName FROM user;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM