Symfoware(R) 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) 富士通株式会社 2003