SQL Server 2008 多数据库存储过程:无法绑定多部分标识符

发布于 2024-11-05 22:14:48 字数 376 浏览 5 评论 0原文

我正在尝试为 SQL Server 2008 编写一个存储过程。它是一种将数据从一个数据库迁移到另一个数据库的迁移工具。

我想从旧数据库中获取新数据库中尚未存在的所有记录。为此,我使用下面的存储过程。但我得到了错误

多部分标识符无法 被束缚

在执行存储过程时 。我该怎么做才能使这项工作成功?

这是SP:

SELECT *
FROM Measurement_device
WHERE Measurement_device.Department_Code = '99'
  AND mir.dbo.Gages.Gage_code != Device_Number

I am trying to write a stored procedure for SQL Server 2008. It is for a migration tool that migrates data from one database to another.

I want to get all records from the old database that aren't yet present in the new database. For that end I use the stored procedure below. But I get the error

The multi-part indentifier could not
be bound

while executing the stored procedure. What can I do to make this work?

Here is the SP:

SELECT *
FROM Measurement_device
WHERE Measurement_device.Department_Code = '99'
  AND mir.dbo.Gages.Gage_code != Device_Number

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

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

发布评论

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

评论(1

橘虞初梦 2024-11-12 22:14:48

这是因为当 FROM 子句中未引用该表时,就会出现 mir.dbo.Gages.Gage_code 条件。尝试这样的事情:

SELECT m.*
FROM Measurement_device m
    LEFT JOIN mir.dbo.Gages g ON g.Gage_code = m.Device_Number
WHERE m.Department_Code = '99'
    AND g.Gage_code IS NULL -- where the gage_code/device_number does not already exist in mir database

It's because you have the mir.dbo.Gages.Gage_code condition when that table is not referenced in the FROM clause. Try something like this:

SELECT m.*
FROM Measurement_device m
    LEFT JOIN mir.dbo.Gages g ON g.Gage_code = m.Device_Number
WHERE m.Department_Code = '99'
    AND g.Gage_code IS NULL -- where the gage_code/device_number does not already exist in mir database
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文