Oli*_*ver 40 sql sql-server-2005
我想做这个:
Declare @a int;
Declare @b int;
SET @a,@b = (SELECT StartNum,EndNum FROM Users Where UserId = '1223')
PRINT @a
PRINT @b
Run Code Online (Sandbox Code Playgroud)
但这是无效的语法.如何在一个select语句中设置多个标量变量?我可以:
Declare @a int;
Declare @b int;
SET @a = (SELECT StartNum FROM Users Where UserId = '1223')
SET @b = (SELECT EndNum FROM Users Where UserId = '1223')
PRINT @a
PRINT @b
Run Code Online (Sandbox Code Playgroud)
但这需要两倍的时间.什么是最快的方式?
jue*_*n d 95
DECLARE @a int;
DECLARE @b int;
SELECT @a = StartNum, @b = EndNum
FROM Users
WHERE UserId = '1223'
Run Code Online (Sandbox Code Playgroud)
aF.*_*aF. 12
像这样做:
Declare @a int;
Declare @b int;
SELECT @a=StartNum,@b=EndNum FROM Users Where UserId = '1223'
PRINT @a
PRINT @b
Run Code Online (Sandbox Code Playgroud)
如果您在存储过程中执行此操作并且不希望在输出结果集中选择的结果,您将需要使用单词 INTO。
Declare @a int;
Declare @b int;
SELECT StartNum, EndNum
FROM Users
Where UserId = '1223'
INTO @a, @b;
Run Code Online (Sandbox Code Playgroud)
它也可以这样使用:
SELECT StartNum, EndNum
INTO @a, @b
FROM Users
Where UserId = '1223';
Run Code Online (Sandbox Code Playgroud)