Symfoware Server SQLビギナーズガイド - FUJITSU - |
目次 索引 |
第7章 アプリケーションの実行時に動的SQL文を実行する方法 |
作成したSQL文を、準備処理を行わずに実行する場合に、EXECUTE IMMEDIATE文を使用します。EXECUTE IMMEDIATE文で実行できるSQL文は、動的SELECT文および動的単一行SELECT文以外の準備可能文です。準備可能文の詳細については、“動的SQLの概念”を参照してください。準備可能文がINSERT文、UPDATE文:探索、DELETE文:探索、準備可能動的UPDATE文:位置づけまたは準備可能動的DELETE文:位置づけの場合は、動的パラメタ指定がないときだけ使用できます。
SQL文変数の内容が準備可能動的UPDATE文:位置づけ、または準備可能動的DELETE文:位置づけの場合は、事前に対応するカーソルをオープンしておくことが必要です。また、指定したカーソルは動的カーソルであることが必要です。
EXECUTE IMMEDIATE文の指定例を以下に示します。
例
在庫表の在庫数量が“0”の行を削除します。
: (変数strにSQL文を格納) "DELETE FROM 在庫管理.在庫表 WHERE 在庫数量 = 0" : EXECUTE IMMEDIATE :str; :
目次 索引 |