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 (すべて)"
結果セットに返される行の最大数です。 |