SQL Server:在存储过程中为多个变量选择多个列

fee*_*wet 6 t-sql sql-server stored-procedures

以下适用于MySQL:

DECLARE myInt INT(20);
DECLARE myDate DATETIME;

SELECT someInt, someDate
INTO myInt, myDate
FROM someTable
WHERE myName = someName
Run Code Online (Sandbox Code Playgroud)

是否可以在SQL Server中执行类似的操作?

SQL Server抱怨INTO尝试本地@variables 的第f行中的"语法不正确" .

jea*_*ean 6

不确定我是否理解您的问题.如果要一次设置多个变量:

DECLARE @myInt INT;
DECLARE @myDate DATETIME;

SELECT @myInt = someInt, @myDate = someDate
FROM someTable
WHERE myName = someName
Run Code Online (Sandbox Code Playgroud)

另请注意,如果select取多行,则变量将保存最后一行的值.实际上,将为每个提取的行设置变量.

另请注意,在SQL Server中,您没有Int声明的参数.也许你想使用Decimal(20).