使用SET和SELECT分配多个变量

时间:2012-11-05 14:47:53

标签: sql sql-server tsql

我使用以下t-sql代码为变量赋予从select语句

获得的值
 DECLARE @cfMitt nvarchar(16)

 SET @cfMitt = (SELECT CfMittente
    FROM Messaggi
    WHERE IDMessaggio = @IDMessaggio)

如果我想使用多个分配,我尝试使用以下代码,但出了点问题:

DECLARE @cfMitt nvarchar(16)
DECLARE @cfDest nvarchar(16)

SET @cfMitt, @cfDest= (SELECT CfMittente, CfDestinatario
FROM Messaggi
WHERE IDMessaggio = @IDMessaggio)

错误在哪里?

2 个答案:

答案 0 :(得分:5)

Set一次只能分配一个值。

你应该使用

   SELECT @cfMitt = CfMittente, 
          @cfDest = CfDestinatario
   FROM Messaggi
   WHERE IDMessaggio = @IDMessaggio

答案 1 :(得分:1)

变量声明也可以是;

DECLARE @V1 VarType, @V2 VarType,...

分配;

SELECT @V1 = C1, @V2 = C2,...@Vn = Cn
FROM [Table]
WHERE Conditions