SQL返回选择值并同时设置变量

时间:2016-12-22 06:10:23

标签: sql sql-server

在SQL Server存储过程中,我同时检索数据和设置变量。我们可以同时执行此操作,还是必须编写两个不同的select语句?

SELECT 
    username, firstname, lastname, phone
FROM 
    userTable

SELECT 
    @username = username,
    @firstname = firstname,
    @lastname = lastname,
    @phone = phone
FROM 
    userTable

2 个答案:

答案 0 :(得分:3)

不,不能在同一语句中混合变量赋值和输出。但是,如果您先分配变量然后选择它们的值,则可以避免两次遍历表:

SELECT @username=username,
       @firstname=firstname,
       @lastname=lastname,
       @phone=phone
FROM 
       userTable


SELECT @username username,
       @firstname firstname,
       @lastname lastname,
       @phone phone

答案 1 :(得分:0)

您只需使用select语句中的变量来存储从Select语句中检索的值。

DECLARE @username varchar(max);
DECLARE @firstname varchar(max);
DECLARE @lastname varchar(max);
DECLARE @phone varchar(max);

SELECT @username=username,
   @firstname=firstname,
   @lastname=lastname,
   @phone=phone
FROM 
   userTable