Symfoware Server SQLビギナーズガイド - FUJITSU -
目次 索引 前ページ次ページ

第7章 アプリケーションの実行時に動的SQL文を実行する方法

7.4 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;
              :

目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 2006