0

我使用以下 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)

错误在哪里?

4

2 回答 2

6

Set一次只分配一个值。

你应该使用

   SELECT @cfMitt = CfMittente, 
          @cfDest = CfDestinatario
   FROM Messaggi
   WHERE IDMessaggio = @IDMessaggio
于 2012-11-05T14:49:06.890 回答
1

变量声明也可以;

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

任务;

SELECT @V1 = C1, @V2 = C2,...@Vn = Cn
FROM [Table]
WHERE Conditions
于 2012-11-05T14:50:16.037 回答