更新另一个表时必须声明标量变量@tablename [重复]

Posted

技术标签:

【中文标题】更新另一个表时必须声明标量变量@tablename [重复]【英文标题】:Must declare scalar variable @tablename when updating another table [duplicate] 【发布时间】:2018-06-21 19:09:46 【问题描述】:

我正在努力:

update existingTable
set code = @declaredTable.code
where id = @declaredTable.id

但是当我这样做时,我得到了错误:

必须声明标量变量“@declaredTable”

两次。

如何将现有表的值更新为已声明表中的值?

为什么这不起作用?

任何帮助将不胜感激!

【问题讨论】:

【参考方案1】:

你需要JOIN

UPDATE e 
      SET e.code = d.code
FROM existingTable e INNER JOIN 
     @declaredTable d
     on d.id = e.id;

【讨论】:

@MartinSmith。 . .对我来说,@declaredTable 建议使用表变量,如果是这样,则需要 JOIN

以上是关于更新另一个表时必须声明标量变量@tablename [重复]的主要内容,如果未能解决你的问题,请参考以下文章

必须声明一个标量变量(C#和OleDb)

必须声明标量变量错误 ADO.NET

不明白错误信息:必须声明标量变量“@Username”。

尝试在 SQL 中运行 UPDATE 语句时“必须声明标量变量”

必须声明标量变量@Id?

例外 |必须声明标量变量@IdAlbum