我正在尝试将 Database2
中保存的 SOPNUMBE
输入到 Database1
中的发票编号
。没什么特别的,但我总是碰壁。任何方向,即使是一本书阅读也会很棒。
Update Database1
Set Database1.dbo.TableA.[Invoice Number] = Database2.dbo.TableA.SOPNUMBE
Where Database1.dbo.TableA.[SO Number] = Database2.dbo.TableA.ORIGNUMB
收到此错误:
Msg 4104, Level 16, State 1, Procedure UpdateInvoice, Line 18 [Batch Start Line 7]
The multi-part identifier "Database2.dbo.TableA.ORIGNUMB" could not be bound.
最佳答案
试试这个 - 我重新创建了您的情况,这个查询对我有用。
Update Database1.dbo.TableA
SET [Invoice Number] = b.SOPNUMBE
FROM Database1.dbo.TableA a
INNER JOIN Database2.dbo.TableA b ON a.[SO Number] = b.ORIGNUMB
有两件事 - 第一,FROM 子句或 JOIN 子句中没有 Database2.dbo.TableA - 这就是它无法绑定(bind)的原因。其次,您的 UPDATE 行 - “Update Database1”不符合要更新的表,但我认为这是一个拼写错误。
关于SQL Server 存储过程从另一个数据库表更新一个数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49986118/