19.4.9 a_rdb_SQLExecute()(前処理したSQL文の実行)
(1) 機能
前処理したSQL文を実行します。実行可能なSQL文を次に示します。
-
DELETE文
-
INSERT文
-
PURGE CHUNK文
-
TRUNCATE TABLE文
-
SELECT文
-
UPDATE文
-
定義系SQL
SELECT文に対してa_rdb_SQLExecute()を実行した場合,カーソルがオープンされます。
(2) 形式
signed short a_rdb_SQLExecute ( void *ConnectionHandle, /* In */ void *StatementHandle, /* In */ void *Option /* In */ )
(3) 引数の説明
- ConnectionHandle:
-
コネクションハンドルを指定します。
- StatementHandle:
-
文ハンドルを指定します。
- Option:
-
NULLを指定します。
(4) 戻り値
-
a_rdb_SQLExecute()が正常に終了した場合,a_rdb_RC_SQL_SUCCESSまたはa_rdb_RC_SQL_NO_DATAが返却されます。
-
SQL文の実行には成功したが,サーバメッセージログファイルまたはクライアントメッセージログファイルを格納しているディスクが満杯になった場合,a_rdb_RC_SQL_WARNINGが返却されます。
-
クライアントメッセージログファイルにメッセージが出力できない場合にエラーが発生したときは,エラー要因コードが返却されます。エラー要因コードについては,「19.8 CLI関数の戻り値」を参照してください。
(5) 留意事項
-
次に示す場合,a_rdb_SQLExecute()は実行できません。
-
コネクションが確立されていない場合
-
無効な文ハンドルを指定した場合
-
-
指定する文ハンドルには,前処理が完了しているSQL文が準備されている必要があります。
-
一度オープンしたカーソルを再度オープンする場合は,いったんカーソルをクローズしてから,再度オープンしてください。
-
a_rdb_SQLFetch()による行の取り出しを実行する場合は,カーソルをオープンしてから行の取り出しを実行してください。
-
COMMITまたはROLLBACKを実行した場合(暗黙的ロールバックを含む),その時点でオープンしているカーソルはすべてクローズされます。