У меня есть объявление этой табличной переменной, за которым следует запрос:
DECLARE @CurrentItems TABLE
(
ItemId uniqueidentifier,
ItemUnits int
)
UPDATE U SET U.Units = U.Units + [@CurrentItems].ItemUnits
FROM @CurrentItems CI INNER JOIN U ON U.UId=CI.ItemId;
И U
определяется следующим образом:
CREATE TABLE [dbo].[U] (
[UId] UNIQUEIDENTIFIER UNIQUE NOT NULL,
[Units] INT DEFAULT ((0)) NOT NULL
);
Когда я запускаю это в SQL Management Studio против SQL Server 2005 Express, я получаю следующее:
Сообщение 208, уровень 16, состояние 1, строка 24
Недопустимое имя объекта '@CurrentItems'.
Я уже рассматривал этот и этот очень похожие вопросы, но не могу понять, как решить эту проблему.
В чем проблема на самом деле и как ее решить?