アプリケーションプログラミングインターフェイスガイド> Webサービスオペレーション> オペレーションリファレンス> executeProcedure
 
executeProcedure
指定されたパスとタイプにあるリソースを実行します。 PROCEDUREおよびTABLEリソースのみを実行できます。 dataServiceNameが指定されている場合、パスはドット付きパス表記を使用して、公開されたデータサービスに関連するリソースを指定する必要があります。そうでない場合、パスは絶対TDVスラッシュパス表記を使用する必要があります。
「isBlocking」がTRUEに設定されている場合、プロシージャの呼び出しは、実行に関連付けられた処理が完了し、「outputs」エレメントが設定されるまで戻りません。
FALSEに設定すると、実行に関連する処理が完了するとオペレーションが返されますが、「outputs」エレメントにデータが入力されるのを待つことはありません。
includeMetadataがTRUEの場合、応答には、この呼び出しまたは後のgetProceduralResultの呼び出しの結果で提供される出力パラメーターデータの名前とタイプを説明するメタデータエレメントが含まれます。
inputエレメントには、実行への入力となる一連のパラメーターが含まれています。各パラメーターには2つのエレメントがあります。
definition:このパラメーター値のSQL言語タイプ。たとえば、VARCHAR(40)またはBIGINTです。
value:このパラメーターの値。
TABLEリソースに入力を提供することはできません。 TABLEリソースの実行は、そのTABLEの内容を表示することに似ています(SELECT * FROM <path>)。
出力エレメントが設定されている場合、表形式のresultIdを含む出力パラメーターが1つだけ含まれます。このクエリによって生成されたデータを取得するには、getTabularResultへの追加の呼び出しが必要になる場合があります。
dataServiceNameは、実行されるリソースを含むパブリックデータサービスの名前です。 dataServiceNameが含まれている場合は、すべてのリソース参照にsqlText内でドットパス表記を使用します。 dataServiceNameが含まれていない場合は、TDVスラッシュパス表記を使用してください。
ユーザーまたはグループが設定されている場合、システムテーブルに対するクエリは、これらのリストのユーザーおよびグループがアクセスできるリソースを返します。それらが設定されていない場合、システムテーブルクエリは現在のユーザーがアクセスできるリソースを返します。これらのパラメータを設定するには、現在のユーザーにREAD_ALL_RESOURCES権限が必要です。
完了したエレメントは、考えられるすべての結果が取得されたかどうかを報告します。
requestStatusエレメントは、実行に関連付けられたサーバー要求のステータスを報告します。リクエストのステータスは、次のいずれかになります。
STARTED:リクエストが開始されました。リクエストは作成されましたが、まだ実行されていません。
WAITING:サーバーが要求を処理するために、要求はキューで待機しています。
実行中:リクエストは現在サーバーによって実行されています。
completed:リクエストに関連付けられた実行が完了しました。結果を取得できるようになりました。
CLOSING:リクエストは終了します。
SUCCESS:リクエストは正常に終了しました。
FAILURE:リクエストは失敗して終了しました。
TERMINATED:リクエストは終了しました。
この実行によって影響を受けた行の数がわかっている場合は、rowsAffectedエレメントが設定されます。
outputエレメントには、一連のProcValueインスタンスが含まれています。出力タイプがカーソルの場合、サーバーの結果へのハンドルであるresultIdを取得する必要があります。 getTabularResultおよびcloseResultで使用できます。 outタイプがカーソルでない場合は、実際の出力値を取得する必要があります。
返されるresultIdは、サーバー内の結果へのハンドルです。これは、getProceduralResultおよびcloseResultで使用できます。カーソルである出力パラメーターには、表形式のresultIdである値が返されます。これは、getTabularResultおよびcloseResultで使用できます。表形式のresultIdを閉じると、そのカーソルのみが閉じ、手続き型resultIdを閉じると、プロシージャと、プロシージャに関連付けられているすべてのカーソルが閉じます。
このオペレーションに関連するすべてのシステムリソースは、呼び出しを含むトランザクションが完了すると閉じられます。これは、resultIdが、この実行オペレーションを呼び出したのと同じトランザクションの外部で使用された場合、無効であることを意味します。 resultIdを使用する場合は、このexecuteオペレーションの呼び出しと、resultIdを使用するすべてのオペレーションを明示的なトランザクションで囲む必要があります。
すべてのユーザーがこのオペレーションを呼び出すことができますが、ACCESS_TOOLS権限を持つユーザーのみがdataServiceNameを省略できます。
ロケーション
/services/webservices/system/admin/execute/operations/
リクエストエレメント
isBlocking(オプション):TRUE(デフォルト)の場合、実行が完了するまで戻らないでください。
includeMetadata(オプション):TRUEの場合、応答には出力パラメーター名とそのタイプに関する情報が含まれます。デフォルトはFALSEです。
input(オプション):実行の入力として使用するパラメーター値のリスト。
dataServiceName(オプション):パブリックデータサービスの名前。
path:リソースへのパス。
type:リソースのタイプ。
users:(オプション)システムテーブルクエリの場合、このリストに含まれるユーザーがアクセスできる結果を返します。
groups:(オプション)システムテーブルクエリの場合、このリストに含まれるグループがアクセスできる結果を返します。
応答エレメント
completed:TRUEの場合、実行に関連するすべての処理が完了しています。
requestStatus:実行を実行しているサーバーリクエストのステータス。
メタdata(オプション):結果内の列名とタイプをリストするテーブルメタデータ。
パラメータ:パラメータエレメントを参照してください。
rowsAffected(オプション):既知の場合、実行によって影響を受ける行の数。それ以外の場合は設定されていません。
出力(オプション):実行からの出力として返されるパラメーター値のリスト。
resultId:結果ID。
requestId:実行に関連付けられたサーバー要求ID。
エラー解析
IllegalArgument:いずれかのエレメントが不正な形式である場合。
IllegalArgument:inputsエレメントに必要なパラメーターが欠落している場合。
IllegalArgument:予期しないパラメーターがinputsエレメントに指定されている場合。
NotAllowed:不十分なライセンスでSQLスクリプトプロシージャを実行しようとした場合。
RuntimeError:実行中にエラーが発生した場合。
セキュリティ:ユーザーがdataServiceNameを省略し、ACCESS_TOOLS権限を持っていない場合。
セキュリティ:パスとタイプによって参照されるリソースに対する適切な権限がユーザーにない場合。