19.3.1 a_rdb_SQLCancel()(SQLのキャンセル)
(1) 機能
実行中のSQLをキャンセルします。a_rdb_SQLCancel()でキャンセルできるSQL(CLI関数)を次に示します。
-
a_rdb_SQLCloseCursor()
-
a_rdb_SQLExecDirect()
-
a_rdb_SQLExecute()
-
a_rdb_SQLFetch()
-
a_rdb_SQLPrepare()
なお,上記以外のCLI関数の実行中にa_rdb_SQLCancel()を実行しても,a_rdb_SQLCancel()は正常に終了します。
(2) 形式
signed short a_rdb_SQLCancel ( void *ConnectionHandle, /* In */ void *Option /* In */ )
(3) 引数の説明
- ConnectionHandle:
-
コネクションハンドルを指定します。
- Option:
-
NULLを指定します。
(4) 戻り値
a_rdb_SQLCancel()が正常に終了した場合,a_rdb_RC_SQL_SUCCESSが返却されます。
(5) 留意事項
-
a_rdb_SQLCancel()は,SQLを処理しているスレッドとは別のスレッドで実行してください。
-
a_rdb_SQLCancel()を実行しても,SQL結果情報は設定されません。
-
a_rdb_SQLCancel()がエラーとなった場合でも,クライアントメッセージログファイルにメッセージは出力されません。
-
SQLのキャンセルが成功した場合,キャンセル対象のSQLはロールバックされ,SQLCODEが返却されます。
-
キャンセル処理はa_rdb_SQLCancel()とは非同期に実行されるため,a_rdb_SQLCancel()の正常終了はキャンセル処理の完了(成功)を意味するものではありません。
-
コネクションが確立されていない場合,a_rdb_SQLCancel()は実行できません。