アプリケーションプログラミングインターフェイスガイド> Webサービスオペレーション> オペレーションリファレンス> executePreparedSql
 
executePreparedSql
コンポジットサーバー内でプリペアドステートメントを実行します。 sqlTextはパラメーター化されたクエリとして扱われ、parameterListはパラメーターを入力するために使用されます。
「dataServiceName」が指定されている場合、「sqlText」内のすべてのリソース参照は、ドット付きパス表記を使用してリソースを指定する必要があります。それ以外の場合は、CISスラッシュパス表記を使用する必要があります。
「isBlocking」がTRUEに設定されている場合、SQLの実行は、実行に関連付けられた処理が完了し、「result」エレメントが設定されるまで戻りません。
FALSEに設定すると、実行に関連する処理が完了するとこのオペレーションが返されますが、「結果」エレメントにデータが入力されるのを待つことはありません。
「includeMetadata」が「true」の場合、応答には、この呼び出しまたは後の の呼び出しのいずれかで「結果」に提供される列データの名前とタイプを説明する「metadata」エレメントが含まれます。getTabularResult:
「skipRows」が設定されている場合、結果を返す前に、その数の行が実行出力でスキップされます。 「skipRows」が可能な行の総数よりも大きい場合、行は返されません。
「maxRows」が設定されている場合、「result」には最大で「maxRows」の行数が含まれます。
「maxRows」が使用可能なデータの行の総数よりも少ない場合、残りの使用可能なデータを取得するには、「getTabularResult」への追加の呼び出しを行う必要があります。
「result」の「hasMoreRows」エレメントを使用して、追加のデータが使用可能かどうかを判別します。これは、サーバーが「maxRows」より少ない数を返すことを選択する可能性があるため、「maxRows」で返される行数を比較するよりも正確です。
「consumeRemainingRows」がTRUEの場合、「maxRows」を超える残りのすべての行が消費されます。
「users」または「groups」が設定されている場合、システムテーブルに対するクエリは、これらのリスト内のユーザーおよびグループがアクセスできるリソースを返します。それらが設定されていない場合、システムテーブルクエリは現在のユーザーがアクセスできるリソースを返します。
これらのパラメータを設定するには、現在のユーザーにREAD_ALL_RESOURCES権限が必要です。
応答では、実行に関連するすべての結果が使い果たされた場合、「completed」エレメントはtrueを返します。 「completed」エレメントは、考えられるすべての結果が取得されたかどうかを報告します。
「requestStatus」エレメントは、実行に関連付けられたサーバー要求のステータスを報告します。リクエストのステータスは次のいずれかになります。
"STARTED":リクエストが開始されました。リクエストは作成されましたが、まだ実行されていません。
"WAITING":リクエストは、サーバーがリクエストを処理するのをキューで待機しています。
"RUNNING":リクエストは現在サーバーによって実行されています。
"COMPLETED":リクエストに関連付けられた実行が完了しました。結果を取得できるようになりました。
"CLOSING":リクエストは終了しています。
"SUCCESS":リクエストは正常に終了しました。
"FAILURE":リクエストは失敗して終了しました。
"TERMINATED":リクエストは終了しました。
「rowsAffected」エレメントは、この実行によって影響を受けた行の数がわかっている場合に設定されます。これには、スキップされた(「skipRows」エレメントを参照)または消費された(「consumedRemainingRows」エレメントを参照)行の数が含まれます。
返された「resultId」は、サーバー内の結果へのハンドルを返します。これは、getTabularResultおよびcloseResultオペレーションで使用できます。
「requestId」は、実行に関連付けられたサーバー要求IDです。
このオペレーションに関連するすべてのシステムリソースは、呼び出しを含むトランザクションが完了すると閉じられます。これは、この実行オペレーションを呼び出したのと同じトランザクションの外部で使用された場合、「resultId」は無効であることを意味します。 「resultId」を使用する場合は、このexecuteオペレーションの呼び出しと、「resultId」を使用するすべてのオペレーションを明示的なトランザクションで囲む必要があります。
すべてのユーザーがこのオペレーションを呼び出すことができますが、ACCESS_TOOLS権限を持つユーザーのみが「dataServiceName」を省略できます。
リクエストエレメント
sqlText:実行されるパラメータ化されたSQL。
isBlocking(オプション):「true」の場合、実行が完了するまで戻らないでください。デフォルトは「true」です。
includeMetadata(オプション):「true」の場合、応答には列名とそのタイプに関する情報が含まれます。デフォルトは「false」です。
skipRows(オプション):結果を生成する前に実行出力でスキップする行数。設定されていない場合、行はスキップされません。
maxRows(オプション):返される行の最大数。設定されていない場合は、すべての行が返されます。
ConsumerRemainingRows(オプション):TRUEに設定すると、「maxRows」以降の残りのすべての行が消費されます。
dataServiceName(オプション):パブリックデータサービスの名前。
users:(オプション)システムテーブルクエリの場合、このリストに含まれるユーザーがアクセスできる結果を返します。
groups:(オプション)システムテーブルクエリの場合、このリストに含まれるグループがアクセスできる結果を返します。
parameterList:プリペアドステートメントに使用されるパラメーターのリスト。
応答エレメント:
completed:「true」の場合、実行に関連するすべての処理が完了しています。
メタdata(オプション):結果内の列名とタイプを説明するテーブルメタデータ。
rowsAffected(オプション):既知の場合、実行によって影響を受ける行の数。
それ以外の場合は設定されていません。
結果(オプション):結果データ。
resultId:結果ID。
requestId:リクエストID。
 
障害:
IllegalArgument:いずれかのエレメントが不正な形式である場合。
RuntimeError:実行中にエラーが発生した場合。
RuntimeError:ユーザーが「sqlText」によって参照されるリソースに対する適切な特権を持っていない場合。
セキュリティ:ユーザーが「dataServiceName」を省略し、ACCESS_TOOLS権限を持っていない場合。