首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CFQUERY与CFSTOREDPROC不同的CFDUMP

CFQUERY与CFSTOREDPROC不同的CFDUMP
EN

Stack Overflow用户
提问于 2015-11-19 15:14:35
回答 1查看 1.3K关注 0票数 0

问题:

我有一个sproc,我用两种方式调用它(cfquery和cfstoredproc),然后转储结果集。在这两种情况下,我都传递相同的参数,而sproc为这个测试返回一个微不足道的硬编码结果。当我转储结果时,我可以在cfquery调用中看到实际的查询SQL,而不是在cfstoredproc call.Why中?我想使用cfstoredproc版本,但希望能够像CFQUERY中那样获得转储的SQL属性。

(是的,我知道CF准备陈述的方式有些不同,我想知道到底是什么。)

CF代码:

代码语言:javascript
复制
<cfstoredproc datasource="tc" procedure="sp_dumptest" >
    <cfprocparam type="in" dbvarname="@arg1" cfsqltype="CF_SQL_VARCHAR" value="1"  >
    <!--- Out variable --->
    <cfprocresult name="out1">
</cfstoredproc>
<cfdump var="#out1#" label="with cfstoredproc">

<cfquery name="out2" datasource="tc" >
{call sp_dumptest (1) }
</cfquery>
<cfdump var="#out2#" label="with cfquery">

输出:

(在亚当回答后编辑)

我尝试添加一个结果属性和一个fetchclientInfo,但是它仍然不能给出实际的SQL。下面是转储结果变量时所转储的内容。

代码语言:javascript
复制
<cfstoredproc   datasource="Timecurrent" 
                procedure="sp_dumptest" 
                result="rsx" 
                debug="true" 
                fetchClientInfo="yes">
    <cfprocparam type="in" dbvarname="@arg1" cfsqltype="CF_SQL_VARCHAR" value="1"  >
    <!--- Out variable --->
    <cfprocresult name="out1">
</cfstoredproc>
<cfdump var="#rsx#" label="with cfstoredproc">

Environment:

  • Coldfusion 11,0,05,293506
  • Server 2014
EN

回答 1

Stack Overflow用户

发布于 2015-11-19 16:03:38

就像戴夫说的:你在比较苹果和橘子。

在第一个示例中,您只是转储由proc返回的out参数的值。你只希望看到里面的价值。

在第二个示例中,您正在转储整个<cfquery>调用的结果,其中包括结果,以及传递给JDBC以及其他各种位元和bob的SQL语句和params。

如果您为<cfstoredproc>调用一个result属性并将that转储出来,会发生什么情况?你不应该期望看到同样的元数据--它仍然是苹果和橘子--但是它更有可能有更多的细节。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33807673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档