ページの先頭行へ戻る
Symfoware Server V10.0.0/V10.0.1 アプリケーション開発ガイド(埋込みSQL編)

4.4 SQL文を即時実行する

作成したSQL文を、準備処理を行わずに実行する場合に、EXECUTE IMMEDIATE文を使用します。EXECUTE IMMEDIATE文で実行できるSQL文は、動的SELECT文および動的単一行SELECT文以外の準備可能文です。準備可能文の詳細については、“4.1 動的SQLの概念”を参照してください。準備可能文がINSERT文、UPDATE文:探索、DELETE文:探索、準備可能動的UPDATE文:位置づけまたは準備可能動的DELETE文:位置づけの場合は、動的パラメタ指定がないときだけ使用できます。

SQL文変数の内容が準備可能動的UPDATE文:位置づけ、または準備可能動的DELETE文:位置づけの場合は、事前に対応するカーソルをオープンしておくことが必要です。また、指定したカーソルは動的カーソルであることが必要です。

EXECUTE IMMEDIATE文の指定例を以下に示します。

在庫表の在庫数量が“0”の行を削除します。

              :
(変数strにSQL文を格納)
     "DELETE FROM 在庫管理.在庫表 WHERE 在庫数量 = 0" 
              :
 EXECUTE IMMEDIATE :str;
              :