我有這個表變量聲明之後的查詢:如何在「從select更新」查詢中使用表變量?
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'。
我已經看過this和this非常類似的問題,但無法弄清楚如何解決問題。
什麼是實際問題,我該如何解決?
`UPDATE U SET U.Units = U.Units + CI.ItemUnits FROM @CurrentItems CI INNER JOIN U ON U.UId = CI.ItemId;`works,我現在試過了 – chopikadze 2011-12-16 14:24:31