【问题标题】:SQL Subquery containing OpenRowset - Syntax error - Incorrect syntax near ')'包含 OpenRowset 的 SQL 子查询 - 语法错误 - ')' 附近的语法不正确
【发布时间】:2020-05-22 02:48:32
【问题描述】:

我没有看到下面的语法问题。我正在使用子查询,因为一旦我弄清楚了,我正在构建它以进行交叉应用。

 SELECT 
   BulkColumn
   FROM
     (
      SELECT CAST(BulkColumn AS xml) as BulkColumn 
            FROM OPENROWSET(BULK'c:\Flight03.xml',SINGLE_CLOB) as T
      )

Error: Incorrect syntax near ')'.
       Line # refers to the closing parenthesis at the bottom

子查询在单独运行时可以正常工作:

      Select CAST(BulkColumn AS xml) as BulkColumn 
            FROM OPENROWSET(BULK'c:\Flight03.xml',SINGLE_CLOB) as T

所以我不应该只用括号括起来并在另一个查询中使用它吗?

Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64) Sep 24 2019 13:48:23 版权所有 (C) 2019 Microsoft Corporation Developer Edition (64-bit) o​​n Windows Server 2019 Standard 10.0 (Build 17763: )

【问题讨论】:

    标签: sql-server


    【解决方案1】:

    您的子查询需要一个名称。试试这个:

    SELECT 
       BulkColumn
       FROM
         (
          SELECT CAST(BulkColumn AS xml) as BulkColumn 
                FROM OPENROWSET(BULK'c:\Flight03.xml',SINGLE_CLOB) as T
          ) Sub
    

    【讨论】:

      【解决方案2】:

      在你的子查询之后必须为其设置名称

      select ... From (...) *name*
      

      【讨论】:

        猜你喜欢
        • 2013-12-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-26
        • 2014-03-15
        • 1970-01-01
        • 2012-01-12
        • 1970-01-01
        相关资源
        最近更新 更多