経由でストアド プロシージャを実行すると、 経由cfstoredproc
でそのストアド プロシージャを呼び出す場合とは異なる結果が得られcfquery
ます。各呼び出しにまったく同じパラメーター値を渡しています。また、SQL Studio でストアド プロシージャを実行すると、正しい結果が得られます (cfquery と同じ)。
cfstoredproc
通話はこちら
<cfstoredproc datasource="#request.mainDSN#" debug="#request.debug#" procedure="rankingresults">
<cfprocparam type="in" value="8652" CFSQLType="CF_SQL_INTEGER">
<cfprocparam type="in" value="50" CFSQLType="CF_SQL_INTEGER">
<cfprocparam type="in" value="53" CFSQLType="CF_SQL_INTEGER">
<cfprocresult name="local.listing">
</cfstoredproc>
これがcfquery
呼び出しです
<cfquery datasource="#request.mainDSN#" name="rankings">
EXEC rankingresults
@CityZipId = 8652,
@distance = 50,
@sic = 53
</cfquery>
結果はまったく異なります。近くにもありません。私はこれについて数時間頭を悩ませてきましたが、なぜそれが何をしているのか理解できません。
アップデート
ストアド プロシージャは大規模です (そして私が継承したものです) 。