動的なPL/SQL実行方法

実践オラクルデータベース構築・運用

オラクルデータベース構築オラクルデータベース運用SQL書式PL/SQL書式Oracle Master試験

TOP PL/SQL書式 PL/SQL応用

動的なPL/SQL実行方法


スポンサードリンク
スポンサードリンク


動的なPL/SQL実行方法



PL/SQLに含まれるSQLには、静的SQL動的SQLがあります。動的SQLを使用すると、その時の要望に応じてSQL文を自由に組み立てることが可能になります。例えばWHERE句の条件を毎回変更することが出来るので、状況に応じた処理が可能になるのです。ただし動的SQLでは、実行時までプログラムが未定となるため、実行時にSQLの解析を行います。そたのため、静的SQLに比べるとパフォーマンスが劣ります。

本項では、EXECUTE IMMEDIATE文を使用した動的なSQLを実行方法を解説します。


以下に動的なDDL文の作成例を示します。

SQL> CREATE OR REPLACE PROCEDURE mddl_sample(mtable VARCHAR2)
2 IS
3 mddl_sql VARCHAR2(100) := 'DROP ' || mtable;
4 BEGIN
5 DBMS_OUTPUT.PUT_LINE(mddl_sql);
6 EXECUTE IMMEDIATE mddl_sql;
7 END;
8 /

プロシージャが作成されました。

SQL>


以下に実行例を示します。

SQL> SET SERVEROUTPUT ON
SQL> EXECUTE mddl_sample('test1');
DROP TABLE test1

PL/SQLプロシージャが正常に完了しました。

SQL> EXECUTE mddl_sample('test2');
DROP TABLE test2

PL/SQLプロシージャが正常に完了しました。

SQL>



PL/SQLの応用

 ● カーソル変数使用方法
 ⇒カーソル変数を使用し1つのカーソルで複数のSELECT文を自由にオープン出来ます。

 ● 動的なPL/SQL実行方法
 ⇒プログラムの実行時にSQLを組み立て発行することが出来ます。

 ● PL/SQLパフォーマンス向上
 ⇒PL/SQL機能を使用することでパフォーマンスの向上が出来ます。


 ● PL/SQLコンパイルエラー確認方法
 ⇒PL/SQLコンパイルエラーの詳細内容を確認することが出来ます。





スポンサードリンク

リンク集 / 免責事項サイトマップ問い合わせ
Copyright (C) 2012  実践オラクルデータベース構築・運用  All rights reserved