| CFPROCRESULT | |
| 説明
ストアードプロシージャによって返される結果セットにクエリーオブジェクトを関連付けます。cfoutput や cftable など、他の ColdFusion タグが結果セットにアクセスするときに、このクエリーオブジェクトを使用します。このタグは、cfstoredproc タグ内にネストします。 |
|
| カテゴリ
データベース操作タグ | |
シンタックス<cfprocresult name = "query_name" resultSet = "1-n" maxRows = "maxrows"> |
|
| 関連項目
cfinsert、cfprocparam、cfquery、cfqueryparam、cfstoredproc、cftransaction、cfupdate、『ColdFusion MX 開発ガイド』の第13章の「ColdFusion アプリケーションの設計と最適化」 の「データベース使用の最適化」
|
|
| 使用方法
ストアードプロシージャによって返されるデータにアクセスできるようにするには、cfprocresult タグを 1 つ以上指定します。ストアードプロシージャによって複数の結果セットが返される場合は、resultSet 属性を使用して、ストアードプロシージャのどの結果セットを返すかを指定します。 resultSet 属性には、cfstoredproc タグのスコープ内で固有の値を指定する必要があります。結果セットを 2 回指定すると、最初の指定は 2 回めの指定によって上書きされます。 CFML では、パラメータをリファレンスによって渡す Oracle 8 および 9 の Reference Cursor タイプがサポートされます。この方法で渡されるパラメータは、1 つのアプリケーションの実行において、メモリを割り当てられたり、割り当て解除されたりします。パッケージやストアードプロシージャで Reference Cursor を使用するには、cfprocresult タグを使用します。このタグを使用すると、ColdFusion JDBC データベースドライバによって Oracle Reference Cursor が結果セットに組み込まれます。Oracle の ThinClient JDBC ドライバでは、この方法を使用できません。 |
|
例<!--- この例では、3 つの結果セットを返す Sybase ストアードプロシージャを実行します。必要なのは、そのうち
2 つの結果セットです。このストアードプロシージャは、ステータスコードと出力パラメータを 1 つ返します。そ
れらをこの例で表示します。パラメータには名前指定表記を使用します。 --->
<!--- cfstoredproc タグ --->
<cfstoredproc procedure = "foo_proc"
dataSource = "MY_SYBASE_TEST" username = "sa"
password = "" dbServer = "scup" dbName = "pubs2"
returnCode = "Yes" debug = "Yes">
<!--- cfprocresult タグ --->
<cfprocresult name = RS1>
<cfprocresult name = RS3 resultSet = 3>
<!--- cfprocparam タグ --->
<cfprocparam type = "IN"
CFSQLType = CF_SQL_INTEGER
value = "1" dbVarName = @param1>
<cfprocparam type = "OUT" CFSQLType = CF_SQL_DATE
variable = FOO dbVarName = @param2>
<!--- cfstoredproc タグを閉じます。 --->
</cfstoredproc>
<cfoutput>
出力パラメータ値 :'#foo#'<br>
</cfoutput>
<h3>結果情報</h3>
<cfoutput query = RS1>#name#,#DATE_COL#<br>
</cfoutput>
<p>
<cfoutput>
<hr>
<p>レコード件数 :#RS1.recordCount# <p>列:#RS1.columnList#
<hr>
</cfoutput>
<cfoutput query = RS3>#col1#,#col2#,#col3#<br>
</cfoutput>
<p>
<cfoutput>
<hr>
<p>レコード件数 :#RS3.recordCount# <p>列:#RS3.columnList#
<hr>
ストアードプロシージャの戻りコード :
'#cfstoredproc.statusCode#'<br>
</cfoutput>
...
|
|
| NAME | |
| 必須 | |
|
クエリーの結果セットの名前です。 |
|
| RESULTSET | |
| オプション | |
|
Default value: "1"
ストアードプロシージャによって複数の結果セットが返される場合に、特定の結果セットの名前を指定します。 |
|
| MAXROWS | |
| オプション | |
|
Default value: "-1 (すべて)"
結果セットに返される行の最大数です。 |
|