【问题标题】:SQL Server 2008 Multi-db stored procedure: The multi-part identifier could not be boundSQL Server 2008 Multi-db 存储过程:无法绑定多部分标识符
【发布时间】:2011-05-09 11:51:59
【问题描述】:

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

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

多部分标识符不能 被束缚

在执行存储过程时。我能做些什么来完成这项工作?

这里是 SP:

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

【问题讨论】:

  • 查看Merge 声明。

标签: sql-server-2008 stored-procedures multi-database


【解决方案1】:

这是因为当 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

【讨论】:

    猜你喜欢
    • 2010-11-07
    • 2022-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-16
    • 2013-06-23
    相关资源
    最近更新 更多