SQL Server存储过程从另一个数据库表更新一个数据库表

时间:2018-04-23 16:46:20

标签: sql sql-server stored-procedures

我正在尝试将SOPNUMBE中的Database2输入Invoice Number中的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   开始第7行]   多部分标识符" Database2.dbo.TableA.ORIGNUMB"不可能   界。

1 个答案:

答案 0 :(得分:2)

试试这个 - 我重新创建了你的情况,这个查询对我有用。

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 - 这就是它无法绑定的原因。第二,你的UPDATE行 - "更新Database1"没有资格对表格进行更新,但我认为这是一个错字。