SQL CLR ストアド プロシージャによって返される結果セットごとの結果セット ロケーターの値を取得します。
制限事項:このトピックは、Windows 環境 (ローカル開発) にのみ適用されます。
構文:
.-RESULT SET-.
>>-ASSOCIATE--+------------+--+-LOCATORS--+---------------------->
'-LOCATOR--'
.-,-------------------.
V |
>--(----rs-locator-variable-+--)-------------------------------->
>--WITH PROCEDURE--+-procedure-name-+--------------------------><
'-hvar-----------'
パラメーター:
rs_locator_variable
|
アプリケーション プログラムで宣言された結果セット ロケーターのホスト変数
|
procedure-name
|
SQL CLR ストアド プロシージャの名前
|
hvar
|
SQL CLR ストアド プロシージャの名前を含んでいるホスト変数
|
例:
working-storage section.
exec sql include sqlca end-exec.
01 mfsqlmessagetext pic x(200).
01 hv-country pic n(15) national.
01 CustomerID pic n(5) national.
01 Company pic n(40) national.
01 City pic n(15) national.
01 CustomerID2 pic n(5) national.
01 Company2 pic n(40) national.
01 City2 pic n(15) national.
01 rsl sql type result-set-locator varying.
01 rs2 sql type result-set-locator varying.
01 rs3 sql type result-set-locator varying.
procedure division.
exec sql connect to Northwind end-exec
move N"UK" to hv-country
*> Test DB2 result set locators
*> This proc opens 3 cursors. closes 2 and re-opens on
*> So should return 2 result sets
exec sql call TestProc1(:hv-country) end-exec
exec sql
associate locators (:rsl, :rs2, :rs3)
with procedure TestProc1
end-exec
exec sql
allocate c1 cursor
for result set :rsl
end-exec
if sqlcode not = 0
display "Open 1st locator failed"
end-if
exec sql
allocate c2 cursor
for result set :rs2
end-exec
if sqlcode not = 0
display "Open 2nd locator failed"
end-if
exec sql
allocate c3 cursor
for result set :rs3
end-exec
if sqlcode = 0
display "FAIL: Open 3rd locator succeeded"
end-if
コメント:
Micro Focus の Enterprise Developer for Visual Studio 製品を使用して、SQL CLR ストアド プロシージャを作成できます。
結果セットを返し DBMAN=ODBC と DIALECT=MAINFRAME でコンパイルされる SQL CLR ストアド プロシージャを呼び出すクライアント アプリケーションでサポートされます。