【问题标题】:Column Info only Returned with FMTONLY set to OFF仅在 FMTONLY 设置为 OFF 的情况下返回列信息
【发布时间】:2008-09-16 13:31:16
【问题描述】:

我有一个在查找字段列表和表名后动态构建的查询。我在存储过程中执行这个动态查询。当两个 proc 参数为零时,构建查询时不使用 where 子句,如果不是,则使用 where 子句构建查询。

当我执行 proc 时 设置 FMTONLY 执行 [cpExportRecordType_ListByExportAgentID] 空,空 它不返回任何列信息。我刚刚将构建没有 where 子句的查询替换为直接执行相同的查询,现在我得到了列信息。我很想知道是什么原因造成的,有人吗?

【问题讨论】:

    标签: sql-server


    【解决方案1】:

    可能跟传入的参数为NULL有关, 检查您的查询是如何构建的,也许它的行为方式与您传递 NULL 时的预期不同。 当您调用时,您是否会返回预期结果: 设置 FMTONLY 关闭执行 [cpExportRecordType_ListByExportAgentID] 空,空 ?

    其他可能性: 我了解您通过调用另一个查询来获取列名的结果来动态构建查询。 也许通常会为您提供列名的查询不返回数据,而只返回列信息(SET FMTONLY ON),因此您没有数据来构建动态查询。

    【讨论】:

      【解决方案2】:

      克里斯托夫:

      因此您没有数据来构建动态查询。

      使用空参数,我的动态查询是一个纯字符串文字,独立于数据。将其更改为静态查询即可解决问题。

      【讨论】:

        猜你喜欢
        • 2012-10-28
        • 2014-05-18
        • 1970-01-01
        • 1970-01-01
        • 2013-05-23
        • 1970-01-01
        • 1970-01-01
        • 2021-06-05
        • 1970-01-01
        相关资源
        最近更新 更多