Must объявил the scalar переменную “@pList”

Я требую перемещать список Id's в WHERE одного UPDATE, повторяя и делая один UPDATE одновременно, я получаю этих начиная с делания одного INSERT в таблицу тип TYPE с одним оцените как тип INT.

Нечто похожее:

DECLARE @pList dbo.List
    ,@pUserAccount VARCHAR(50) = 'user@hotmail'
    ,@vCount INT;

INSERT INTO @pList (Value)
VALUES (174);

INSERT INTO @pList (Value)
VALUES (17);

SELECT @vCount = COUNT(*)
FROM @pList;

IF @vCount > 0
BEGIN
    UPDATE Tbl
    SET StatusId = 2
    WHERE Id = @pList
END

Это ошибка, которая происходит со мной:

Msg 137, Level 16, State 1, Line 24 Must объявил the scalar переменную "@pList".

2
задан 20.05.2017, 07:30
1 ответ

У тебя есть какие-то проблемы, давайте видеть:

1. DeclaraciГіn одной изменчивый тип Таблица

Правильный способ делать в SQL Server:

DECLARE @pList TABLE(
    Value INT
)

2. Решение о actualizaciГіn

ты не можешь использовать = но ты должен использовать IN следующей формы:

UPDATE Tbl
    SET StatusId = 2
    WHERE Id IN (SELECT Value FROM @pList)
0
ответ дан 24.11.2019, 09:16

Теги

Похожие вопросы