ヘッダーをスキップ
Oracle® TimesTen In-Memory Database PL/SQLパッケージ・リファレンス
リリース11.2.1
B63042-01
  目次へ
目次
索引へ
索引

戻る
戻る
 
次へ
次へ
 

1 TimesTenが提供するPL/SQLパッケージおよびタイプの概要

TimesTen In-Memory DatabaseのPL/SQLを有効にすると、一連のPL/SQLパッケージがインストールされます。これらのパッケージによって、データベース機能が拡張され、SQL機能へのPL/SQLアクセスが可能になります。TimesTenで提供されるパッケージのリストを表示するには、SYSが所有するオブジェクトに対してシステム・ビューALL_PROCEDURESを使用します。この例を次に示します。他のALL_*システム・ビューの場合と同様、すべてのユーザーには、ALL_PROCEDURESシステム・ビューに対するSELECT権限があります。

Command> select distinct object_name from all_procedures where owner='SYS';
< DBMS_LOCK >
< DBMS_OUTPUT >
< DBMS_PREPROCESSOR >
< DBMS_RANDOM >
< DBMS_SQL >
< DBMS_STANDARD >
< DBMS_SYS_ERROR >
< DBMS_UTILITY >
< PLITBLM >
< STANDARD >
< SYS_STUB_FOR_PURITY_ANALYSIS >
< UTL_FILE >
< UTL_RAW >
< UTL_RECOMP >
< TT_DB_VERSION >
< UTL_IDENT >
16 rows found.

これは、データベースに現在インストールされている、TimesTenが提供するパッケージのリストです。内部使用パッケージとパブリック・パッケージが含まれています。このマニュアルでは、「TimesTenが提供するPL/SQLパッケージの概要」に示されているパブリック・パッケージについてのみ説明しています。


注意:

次のパッケージは内部使用のみを目的としており、このマニュアルでは説明していません。
  • STANDARDPLITBLMおよびDBMS_STANDARD: これらのパッケージに定義されているプログラムは、PL/SQL言語の一部です。

  • DBMS_SYS_ERROR: DBMS*ルーチンに起因するシステム・エラー・メッセージのプライベートPL/SQLサブプログラムを定義します。

  • SYS_STUB_FOR_PURITY_ANALYSIS: トップレベルのサブプログラムの作成に必要です。


この章の内容は次のとおりです。


パッケージの概要

パッケージとは、関連するプログラム・オブジェクトをカプセル化した集合体で、データベースにまとめて格納されています。プログラム・オブジェクトには、プロシージャ、ファンクション、変数、定数、カーソルおよび例外があります。

このセクションの内容は次のとおりです。


パッケージ・コンポーネント

PL/SQLパッケージには、仕様部と本体の2つの部分がありますが、本体は不要な場合もあります。仕様部はアプリケーションへのインタフェースです。使用可能なタイプ、変数、定数、例外、カーソルおよびサブプログラムを宣言します。本体はカーソルとサブプログラムを完全に定義し、仕様部を完全に実装します。

パッケージは、サブプログラムとは異なり、コール、パラメータ化またはネスト化することはできません。ただし、パッケージおよびサブプログラムのフォーマットは類似しています。

CREATE PACKAGE name AS  -- specification (visible part)
   -- public type and item declarations
   -- subprogram specifications
END [name];

CREATE PACKAGE BODY name AS  -- body (hidden part)
   -- private type and item declarations
   -- subprogram bodies
[BEGIN
   -- initialization statements]
END [name];

仕様部には、アプリケーションで参照できるパブリック宣言が含まれています。本体には、実装の詳細およびプライベート宣言が含まれていますが、アプリケーションからは参照できません。仕様部を変更せずに、パッケージ本体をデバッグ、拡張または置換できます。パッケージ本体の実装の詳細はアプリケーションから隠されているため、コール元プログラムを再コンパイルせずに、パッケージ本体を変更できます。


TimesTenが提供するパッケージの使用

TimesTenが提供するパッケージは、データベースが作成されるときに自動的にインストールされます。

すべてのユーザーには、UTL_RECOMPおよびUTL_FILE(それぞれの章を参照)を除く、このマニュアルで説明するパッケージに対するEXECUTE権限があります。

PL/SQLファンクションで定義されたビューを検索するには、そのビューのSELECT権限が必要です。ビューを検索するには個々のEXECUTE権限は必要ありません。パッケージに関する特別要件については、それぞれの章の記述を参照してください。


注意:

TimesTenでは、インスタンス管理者として実行することは、OracleユーザーSYSDBAとして実行することに相当します。ADMINユーザーとして実行することは、OracleユーザーDBAとして実行することに相当します。


パッケージ内容の参照

パッケージ仕様部で宣言されたタイプ、アイテムおよびサブプログラムを参照するには、ドット表記法を使用します。次に例を示します。

package_name.type_name
package_name.item_name
package_name.subprogram_name

パッケージの例の実行

このマニュアルのパッケージの例の出力を確認するには、ttIsqlで最初に次のコマンドを実行します。

Command> set serveroutput on

TimesTenが提供するPL/SQLパッケージの概要

表1-1は、一般利用のためにTimesTenで提供されるPL/SQLサーバー・パッケージを示しています。これらのパッケージは、パッケージ所有者ではなく起動ユーザーとして実行されます。


注意:

  • これらのパッケージが提供するプロシージャとファンクションおよびその外部インタフェースはオラクル社が所有するもので、変更される可能性があります。

  • 提供されたパッケージを変更すると、内部エラーおよびデータベースのセキュリティ違反が発生する可能性があります。提供されたパッケージを変更しないでください。


表1-1 TimesTenが提供するPL/SQLパッケージの概要

パッケージ名 説明

DBMS_LOCK


ロック管理サービスへのインタフェースを提供します。TimesTenでは、指定した期間セッションを一時停止するSLEEPプロシージャのみがサポートされます。

DBMS_OUTPUT


ストアド・プロシージャおよびパッケージからメッセージを送信できます。

DBMS_PREPROCESSOR


後処理された形式でPL/SQLユニットのソース・テキストの出力または取出しを行うためのインタフェースを提供します。

DBMS_RANDOM


組込み式の乱数ジェネレータを提供します。

DBMS_SQL


動的SQLを使用してデータベースへのアクセスを可能にします。

DBMS_UTILITY


様々なユーティリティ・ルーチンを提供します。

TT_DB_VERSION


TimesTenのメジャーおよびマイナー・バージョン番号を示します。

UTL_FILE


PL/SQLプログラムで、オペレーティング・システムのテキスト・ファイルの読込みおよび書込みを可能にし、標準オペレーティング・システムのストリーム・ファイルI/Oの制限付きバージョンを提供します。

UTL_IDENT


PL/SQLを実行しているのがデータベースなのかクライアントなのか(TimesTenとOracle、サーバーとクライアントなど)を示します。(PL/SQLを実行する各データベースまたはクライアントには、このパッケージのコピーがあります。)

UTL_RAW


RAWデータ・タイプを操作するためのSQLファンクションを提供します。

UTL_RECOMP


無効なPL/SQLモジュールを再コンパイルします。



注意:

  • PLS_INTEGERデータ・タイプとBINARY_INTEGERデータ・タイプは同じです。このマニュアルでは、(表タイプ、レコードタイプ、サブプログラム・パラメータ、サブプログラム戻り値などの)参照情報のデータ・タイプを示す場合にBINARY_INTEGERを使用しますが、説明および例ではいずれも使用される場合があります。

  • INTEGERデータ・タイプおよびNUMBER(38)データ・タイプも同じです。このマニュアルでは、全体をとおしてINTEGERを使用します。