在我的函数中有几次我有这样的东西:
<cffunction name="mergeData">
<cfquery name="myQuery">
SELECT columnName FROM tableName
</cfquery>
<cfquery dbtype="query" name="myOtherQuery">
SELECT columnName FROM myQuery
</cfquery>
</cffunction>
<cfset resulta = mergeData(queryA) />
<cfset resultb = mergeData(queryB) />
<cfset resultc = mergeData(queryC) />
有时我会收到错误消息The select column reference [myQuery.columnname] is not found in table [myQuery].
那么这可能是什么原因造成的。我该如何诊断。我在想这可能是一个范围问题,所以我要添加<cfquery name="local.myQuery">
只是为了确保函数中包含一些东西(无论如何我应该这样做)。但是,当某些事情只发生时,有时我很难弄清楚如何诊断。
编辑:添加了一些关于为什么它最有可能是范围问题的清晰度。我的想法是,这myQuery
可能会在其他电话中被引用。我的意思是,它不像在数据上运行多个线程,但这可能是原因吗?还有其他原因吗?当我收到错误时,情况并非总是如此。我也在一个它的功能只运行一次的页面上得到它。