相关疑难解决方法(0)

如何在"从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;
Run Code Online (Sandbox Code Playgroud)

U定义如下:

CREATE TABLE [dbo].[U] (
    [UId]         UNIQUEIDENTIFIER UNIQUE NOT NULL,
    [Units]       INT DEFAULT ((0)) NOT NULL
);
Run Code Online (Sandbox Code Playgroud)

当我在SQL Management Studio中针对SQL Server 2005 Express运行时,我得到以下内容:

Msg 208,Level 16,State 1,Line 24

无效的对象名称'@CurrentItems'.

我已经看过这个这个非常相似的问题,但无法弄清楚如何解决问题.

什么是实际问题,我该如何解决?

sql t-sql sql-server sql-server-2005 table-variable

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

sql ×1

sql-server ×1

sql-server-2005 ×1

t-sql ×1

table-variable ×1