仅当 ID 匹配时更新记录

发布于 2024-08-16 21:36:17 字数 315 浏览 2 评论 0原文

如何根据当前数据库中的记录更新单独数据库中表中的数据?

例如,我想用数据库“database_new”中包含的值更新名为“database_old”的数据库中的字段“status”。我当前的数据存在于数据库“database_new”中。我只想在 record_id 字段匹配时更新“database_old”数据库中的记录。两个数据库的表“products”中都存在字段“status”和“record_id”。正如我所说,字段“status”应该使用“database_new”中的值进行更新,但仅在 record_id 匹配时才更新。

这是一个 MS SQL 2005 数据库。

How would I update data in a table in a separate database based on the records in the current database?

For instance I want to update the field "status" in the database called "database_old" with the value contained in the database "database_new" . My current data exists in the database "database_new". I want to only update records in the "database_old" db when the record_id field matches. The fields "status" and "record_id" exists in the table "products" in both databases. As as I said the field "status" should be updated with the value from the "database_new" but only update if the record_id matches.

This a MS SQL 2005 database.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

╰ゝ天使的微笑 2024-08-23 21:36:17
update database_old.dbo.products
set status = new.status
from database_new.dbo.products new
where database_old.dbo.products.record_id = new.products.record_id
update database_old.dbo.products
set status = new.status
from database_new.dbo.products new
where database_old.dbo.products.record_id = new.products.record_id
遥远的绿洲 2024-08-23 21:36:17

如果两个数据库位于同一服务器上,则只需使用由 3 部分组成的名称 Database.dbo.TableName。示例:

update old
set old.status = new.status
from database_old.dbo.products old
inner join database_new.dbo.products new
on old.record_id = new.record_id

如果它们位于不同的服务器上,那么您需要有一个链接服务器,然后使用由 4 部分组成的名称。

If both database are on the same server just use the 3 part name Database.dbo.TableName. Example:

update old
set old.status = new.status
from database_old.dbo.products old
inner join database_new.dbo.products new
on old.record_id = new.record_id

If they are on different servers then you need to have a linked server and then use a 4 part name.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文