【问题标题】:Cannot find either column "" or the user-defined function or aggregate "", or the name is ambiguous找不到列“”或用户定义的函数或聚合“”,或者名称不明确
【发布时间】:2011-07-13 04:06:49
【问题描述】:

在我正在处理的一些使用 XML 数据类型的 T-SQL 中,我收到了上述警告。代码按预期运行,但警告很烦人,因为它显示在编辑器中以及当我在 VS2010 中构建我的数据库项目时。这是一个示例:

DECLARE @ID TABLE (ID INT)

INSERT @ID VALUES(1)
INSERT @ID VALUES(2)
INSERT @ID VALUES(3)

DECLARE @IDXml XML
SET @IDXml = (
    SELECT ID FROM @ID FOR XML RAW('IDFilter')
)

-- Cannot find either column "item" or the user-defined function or aggregate
-- "item.value", or the name is ambiguous.
SELECT SomeID = item.value('@ID', 'INT')
FROM @IDXml.nodes('/IDFilter') AS T(item)

警告是正常的,还是我做错了什么?

【问题讨论】:

  • 如果包含表名(“T”),是否会收到相同的警告? SELECT SomeID = T.item.value('@ID', 'INT')
  • 当我将它粘贴到 SQL Server 2008 Management Studio 时,我看到的和你一样。看起来像一个错误。可能值得在 Microsoft Connect 网站上报告。

标签: xml tsql


【解决方案1】:

尝试添加:

SET 'ANSI_PADDING' ON

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-26
    • 2020-12-07
    • 2014-01-06
    • 2019-08-01
    • 2011-01-06
    • 2019-02-09
    • 1970-01-01
    • 2022-08-11
    相关资源
    最近更新 更多