在SQL Server存储过程中,我同时检索数据和设置变量。我们可以同时执行此操作,还是必须编写两个不同的select语句?
SELECT
username, firstname, lastname, phone
FROM
userTable
SELECT
@username = username,
@firstname = firstname,
@lastname = lastname,
@phone = phone
FROM
userTable
答案 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