日本語PDF

外部プロシージャの概要

外部プロシージャは、第3世代言語(Cなど)で記述されたファンクションで、PL/SQLルーチンまたはファンクションと同様に、PL/SQLまたはSQL内からコールできます。

外部プロシージャを使用すると、第3世代プログラミング言語の長所と機能をPL/SQLの環境内で利用できます。

注意:

Oracle Databaseでは、特殊なインタフェースであるコール仕様も提供しています。これにより、Cからコール可能な外部プロシージャを他の言語からコールできます。

外部プロシージャの主な利点は次のとおりです。

  • パフォーマンス。PL/SQLはSQLトランザクションの処理に向いているため、タスクによってはPL/SQLよりも第3世代プログラミング言語の方が効率的に行うことができます。

  • コードの再利用性。Dynamic Link Library(DLL)をサーバーまたはクライアント・ツールのPL/SQLプログラムから直接コールできます。

外部プロシージャを使用して、特定の処理を行えます。

  • 科学的問題や工学的問題の解決

  • データの分析

  • デバイスやプロセスのリアルタイム制御

注意:

外部プロシージャを処理するようにリスナーを構成する場合には、セキュリティ上の特別な予防手段が保証されます。

外部プロシージャを作成して使用するには、次のステップを実行します。

  1. Oracle DatabaseおよびOracle Net Servicesのインストールと構成

  2. 外部プロシージャの作成

  3. DLLのビルド

  4. 外部プロシージャの登録

  5. ライブラリ関連の権限を信頼できるユーザーのみに制限する

  6. 外部プロシージャの実行

注意:

  • DLLをビルドするには、Cコンパイラおよびリンカーがシステムにインストールされている必要があります。

  • 4番目と5番目のタスクの説明にある処理は、外部プロシージャの登録および実行の処理を自動化する、1つのSQLスクリプトにできます。これらの処理を結合したSQLスクリプトの例は、ORACLE_HOME\rdbms\extproc\extern.sqlを参照してください。