DEBUGパッケージ

  関連項目 	  すべてのビルトイン

Debug.Break

Debug.Getx

Debug.Interpret

Debug.Setx

Debug.Suspend


Debug.Break

  例	   関連項目 	   すべてのビルトイン

説明  デバッグ・トリガー内でブレークポイントを指定するのに使います。

構文

Debug.Break  EXCEPTION;

使用上の注意  Debug.Breakは、条件ブレークポイントを作成するのに役立ちます。例外が呼び出されると、デバッグ・トリガー位置にブレークポイントを入力した場合と同じく、制御がインタプリタに渡されます。


Debug.Breakの例

  関連項目	   すべての例

 /*
** Create a breakpoint only when the value
** of 'my_sal' exceeds 5000
*/
IF Debug.Getn('my_sal') > 5000 THEN
  RAISE Debug.Break;
END IF;


Debug.Getx

  例	   関連項目 	   すべてのビルトイン

説明  指定したローカル変数の値が検索されます。

構文

FUNCTION Debug.Getc
   (varname VARCHAR2)
RETURN VARCHAR2;

FUNCTION Debug.Getd
   (varname VARCHAR2)
RETURN DATE;

FUNCTION Debug.Geti
   (varname VARCHAR2)
RETURN PLS_INTEGER;

FUNCTION Debug.Getn
   (varname VARCHAR2)
RETURN NUMBER;

パラメータ

varname	VARCHAR2またはCHAR(Debug.Getcにより、CHAR値はVARCHAR2値に変換されます)、DATE、PLS_INTEGERまたはNUMBER変数。
使用上の注意  デバッグ・トリガーからローカル値を決定する場合に役立ちます。


Debug.Getxの例

  関連項目	   すべての例

 /*
** Retrieve the value of the variable 'my_ename'
** and use it to test a condition
*/
IF Debug.Getc('my_ename') = 'JONES' THEN
  RAISE Debug.Break;
END IF;

サブプログラムbarをコールするプログラム単位fooがあるとします。このサブプログラム(bar)は、他の多くのプログラム単位からもコールされます。プロシージャbarが、それをコールする多くのプロシージャから引数'message'を受け付ける状況を考えてみます。プロシージャfooは、'hello world'という一意の引数をbarに渡します。この場合、fooがその引数を渡すときにのみブレークポイントを呼び出すトリガーを次のようにプロシージャbarに定義できます。

PL/SQL> .TRIGGER PROC bar LINE 3 IS
      >BEGIN
      >  IF Debug.Getn('message') = 'hello world' THEN
      >    RAISE Debug.Break;
      >  END IF;
      >END;


Debug.Interpret

  例	   関連項目 	   すべてのビルトイン

説明  inputで指定したPL/SQL文またはProcedure Builder Interpreterコマンドが、インタプリタに入力されたときと同じように実行します。

構文

PROCEDURE Debug.Interpret
   (input VARCHAR2);

パラメータ

input	プロシージャ・ビルダーのコマンド文字列。
使用上の注意  デバッグ・トリガーからProcedure Builderファンクションを自動的に起動するのに役立ちます。


Debug.Interpretの例

  関連項目	   すべての例

 /*
** Execute the command SHOW STACK when
** a condition is met
*/
IF Debug.Getc('my_ename') = 'JONES' THEN
  Debug.Interpret('.SHOW LOCALS');
END IF;

サブプログラムbarをコールするプログラム単位fooがあるとします。このサブプログラム(bar)は、他の多くのプログラム単位からもコールされます。ここではbarにブレークポイントを作成しますが、サブプログラムがfooからコールされたときにのみブレークポイントが使用可能になり、それ以外のプログラム単位からコールされたときは使用可能にならないようにします。

このためには、次のステップを実行する必要があります。

1	プロシージャbarで、実行を停止する位置にブレークポイントを作成します。

2	作成したブレークポイントを使用不可にします。

ステップ1と2は、どちらも「ブレークポイント」ダイアログ・ボックスの中で実行できます。プロシージャfooに、プロシージャbarに作成した最初のブレークポイントを使用可能にするブレークポイント・トリガー付きのブレークポイントを作成します。次に例を示します。

PL/SQL>.BREAK PROC foo LINE 6 TRIGGER
      >BEGIN
      >  Debug.Interpret('.enable break 1');
      >  Debug.Interpret('.go');
      >END;

次の例では、ブレークポイントに到達するたびにトリガーを起動するブレークポイントを作成します。

PL/SQL> .break proc my_proc line 10 trigger
     +> DEBUG.INTERPRET('.SHOW LOCALS');


Debug.Setx

  例	   関連項目 	   すべてのビルトイン

説明  ローカル変数に新しい値を設定します。

構文

PROCEDURE Debug.Setc
   (varname  VARCHAR2,
    newvalue VARCHAR2);

PROCEDURE Debug.Setd
   (varname  VARCHAR2,
    newvalue DATE);

PROCEDURE Debug.Seti
   (varname  VARCHAR2,
    newvalue PLS_INTEGER);

PROCEDURE Debug.Setn
   (varname  VARCHAR2,
    newvalue NUMBER);

パラメータ

varname	VARCHAR2またはCHAR（Debug.Setcにより、CHAR値はVARCHAR2値に変換されます）、DATE、PLS_INTEGERまたはNUMBER変数。
newvalue	varnameの適切な値。
使用上の注意  デバッグ・トリガーでローカル値を変更するのに役立ちます。


Debug.Setxの例

  関連項目	   すべての例

 /*
** Set the value of the local variable 'my_emp' from a
** Debug Trigger
*/
Debug.Setc('my_emp', 'SMITH');
/*
** Set the value of the local variable 'my_date' from a
** Debug Trigger
*/
Debug.Setd('my_date', '02-OCT-94');


Debug.Suspend

  例	   関連項目 	   すべてのビルトイン

説明  現行のプログラム単位の実行が中断され、インタプリタに制御が渡されます。

構文

PROCEDURE Debug.Suspend;


Debug.Suspendの例

  関連項目	   すべての例

 /*
** This example uses Debug.Suspend
*/
PROCEDURE proc1 IS
BEGIN
  FOR i IN 1..10 LOOP
    Debug.Suspend;
    Text_IO.Put_Line('Hello');
  END LOOP;
 END;


DDEパッケージ

  関連項目 	  すべてのビルトイン

DDE.App_Begin

DDE.App_End

DDE.App_Focus

DDE.DMLERR_Not_Supported

DDE.Execute

DDE.Getformatnum

DDE.Getformatstr

DDE.Initiate

DDE.IsSupported

DDE.Poke

DDE.Request

DDE.Terminate


DDE.App_Begin

  例	   関連項目 	   すべてのビルトイン

説明  アプリケーション・プログラムが起動され、アプリケーション識別子が返されます。

構文

FUNCTION DDE.App_Begin
   (AppName VARCHAR2,
    AppMode PLS_INTEGER)
RETURN PLS_INTEGER;

パラメータ

AppName	アプリケーション名。
AppMode	アプリケーション起動モード。 App_Mode_Normal   アプリケーション・ウィンドウが標準サイズで起動されます。 App_Mode_Minimized   アプリケーション・ウィンドウが最小サイズで起動されます。 App_Mode_Maximized   アプリケーション・ウィンドウが最大サイズで起動されます。

戻り値  アプリケーション識別子

使用上の注意  アプリケーション名にはパスを含むことができます。アプリケーション名にパスが含まれていない場合には、次の順番で各ディレクトリが検索されます。

•	現行ディレクトリ

•	Windowsディレクトリ

•	Windows SYSTEMディレクトリ

•	現行タスク用の実行可能ファイルが入っているディレクトリ

AppNameでは、アプリケーション・プログラム名の後ろに引数を付けることができます。アプリケーション・プログラム名と引数の間はスペースで区切ります。

アプリケーションは、AppModeで指定したサイズで起動します。標準サイズ、最小サイズまたは最大サイズのいずれも指定できます。

同じアプリケーション・ウィンドウについて、すべてのDDE.App_EndおよびDDE.App_Focusコールに、DDE.App_Beginによって戻されたアプリケーション識別子を使用する必要があります。


DDE.App_Beginの例

  関連項目	   すべての例

 /*
** Start MS Excel with spreadsheet emp.xls loaded
*/
DECLARE
  AppID  PLS_INTEGER;
BEGIN
    AppID := DDE.App_Begin('c:\excel\excel.exe emp.xls',
     DDE.App_Mode_Minimized);
END;


DDE.App_End

  例	   関連項目 	   すべてのビルトイン

説明  Dde_App_Beginで起動したアプリケーション・プログラムを終了します。

構文

PROCEDURE DDE.App_End
   (AppID PLS_INTEGER);

パラメータ

AppID	DDE.App_Beginによって戻されるアプリケーション識別子。
使用上の注意  アプリケーションは標準のWindows方式でも終了できます。たとえば、「コントロール」メニューをダブルクリックすれば終了できます。

DDE.App_Endを使用してアプリケーション・プログラムを終了するには、DDE.App_Beginをコールしてアプリケーションを起動しておく必要があります。


DDE.App_Endの例

  関連項目	   すべての例

 /*
** Start Excel, perform some operations on the
** spreadsheet, then close the application.
*/
DECLARE
  AppID  PLS_INTEGER;
BEGIN
    AppID := DDE.App_Begin('c:\excel\excel.exe emp.xls',
    DDE.App_Mode_Normal);
  ...
   DDE.App_End(AppID);
END;


DDE.App_Focus

  例	   関連項目 	   すべてのビルトイン

説明  DDE.App_Beginで起動したアプリケーション・プログラムをアクティブ化します。

構文

PROCEDURE DDE.App_Focus
   (AppID PLS_INTEGER);

パラメータ

AppID	DDE.App_Beginによって戻されるアプリケーション識別子。
使用上の注意  アプリケーションは標準のWindows方式でもアクティブ化できます。たとえば、アプリケーション・ウィンドウ内のどこかをクリックすればアクティブ化できます。

DDE.App_Focusを使用してアプリケーション・プログラムをアクティブにするには、DDE.App_Beginをコールしてアプリケーションを起動しておく必要があります。


DDE.App_Focusの例

  関連項目	   すべての例

 /*
** Start Excel, then activate the application window
*/
DECLARE
   AppID  PLS_INTEGER;
BEGIN
  AppID := DDE.App_Begin('c:\excel\excel.exe',
    DDE.App_Mode_Maximized);
  DDE.App_Focus(AppID);
END;


DDE.Execute

  例	   関連項目 	   すべてのビルトイン

説明  受信側サーバー・アプリケーションが受付け可能なコマンドを実行します。

構文

PROCEDURE DDE.Execute
   (ConvID  PLS_INTEGER,
    CmdStr  VARCHAR2,
    Timeout PLS_INTEGER);

パラメータ

ConvID	DDE.Initiateによって戻されるDDE対話識別子。
CmdStr	サーバーで実行されるコマンド文字列。
Timeout	タイムアウトするまでの時間（ミリ秒単位）。
使用上の注意  CmdStr 受信側サーバー・アプリケーションが受付け可能なコマンド文字列が実行されます。

Timeoutでは、DDEサーバー・アプリケーションからの応答をどれだけの時間待つかをミリ秒単位で指定します。無効な数値（負数など）を指定した場合には、デフォルト値の1000が使用されます。


DDE.Executeの例

  関連項目	   すべての例

 /*
** Initiate Excel, then perform a recalculation
*/
DECLARE
  ConvID  PLS_INTEGER;
BEGIN
   ConvID := DDE.Initiate('EXCEL', 'abc.xls');
   DDE.Execute(ConvID, '[calculate.now()]', 1000);
END;


DDE.Getformatnum

  例	   関連項目 	   すべてのビルトイン

説明  指定したデータ形式名が変換または登録され、データ形式文字列が数値表現で返されます。

構文

FUNCTION DDE.Getformatnum
   (DataFormatName VARCHAR2)
RETURN PLS_INTEGER;

パラメータ

DataFormat-Name	データ形式名の文字列。
使用上の注意  DDE.Getformatnumではデータ形式が文字列から数値に変換されます。この数値は、DDE.PokeトランザクションとDDE.RequestトランザクションでDataFormat変数を表すのに使えます。

指定した名前が登録されていない場合は、DDE.Getformatnumが新規に登録し、一意の形式番号を戻します。これは唯一、DDE.PokeまたはDDE.Requestトランザクション内で、事前定義されていない形式を使用するための方法です。


DDE.Getformatnumの例

  関連項目	   すべての例

 /*
** Get predefined format number for "CF_TEXT" (should
** return CF_TEXT=1) then register a user-defined
** data format called "MY_FORMAT"
*/
DECLARE
  FormatNum    PLS_INTEGER;
  MyFormatNum  PLS_INTEGER;
BEGIN
  FormatNum := DDE.Getformatnum('CF_TEXT');
  MyFormatNum := DDE.Getformatnum('MY_FORMAT');
END;


DDE.Getformatstr

  例	   関連項目 	   すべてのビルトイン

説明  データ形式番号がデータ形式名文字列に変換されます。

構文

FUNCTION DDE.Getformatstr
   (DataFormatNum PLS_INTEGER)
RETURN VARCHAR2;

パラメータ

DataFormat-Num	データ形式番号。
戻り値  指定したデータ形式番号を文字列で表したもの。

使用上の注意  DDE.Getformatstrでは、データ形式番号が有効な場合にデータ形式名が返されます。有効な形式番号とは、事前定義済みの形式およびDDE.Getformatnumで登録されたユーザー定義の形式です。


DDE.Getformatstrの例

  関連項目	   すべての例

 /*
** Get a data format name (should return the string
** 'CF_TEXT')
*/
DECLARE
  FormatStr  VARCHAR2(80);
BEGIN
  FormatStr := DDE.Getformatstr(CF_TEXT);
END;


DDE.Initiate

  例	   関連項目 	   すべてのビルトイン

説明  サーバー・アプリケーションとDDEコマンドを開始します。

構文

FUNCTION DDE.Initiate
   (Service VARCHAR2,
    Topic   VARCHAR2)
RETURN PLS_INTEGER;

パラメータ

Service	サーバー・アプリケーションのDDEサービス・コード。
Topic	対話のトピック名。
戻り値  DDE対話識別子。

使用上の注意  ServiceおよびTopicの値は、そのDDEサーバー・アプリケーションがサポートする値によって異なります。Serviceは通常はアプリケーション・プログラムの名前です。ファイル・ベースの文書を操作するアプリケーションの場合、Topicは通常は文書のファイル名です。システム・トピックは通常は各サービスによってサポートされます。

同じDDE会話について、すべてのDDE.Execute、DDE.Poke、DDE.RequestおよびDDE.Terminateコールには、DDE.Initiateによって戻された対話識別子を使用する必要があります。

対話識別子が交換されないと、アプリケーションでは、複数のサービスおよびトピックについて、1度に複数のやりとりが発生する場合があります。

やりとりを終了するには、DDE.Terminateを使います。


DDE.Initiateの例

  関連項目	   すべての例

 /*
** Open a DDE Conversation with MS Excel on
** topic abc.xls
*/
DECLARE
  ConvID  PLS_INTEGER;
BEGIN
  ConvID := DDE.Initiate('EXCEL', 'abc.xls');
END;


DDE.IsSupported

  例	   関連項目 	   すべてのビルトイン

説明  DDEパッケージが現行プラットフォームでサポートされているかどうか確認するのに使います。

構文

DDE.ISSUPPORTED

戻り値  DDEがプラットフォームでサポートされる場合はTRUE、サポートされない場合はFALSE。


DDE.IsSupportedの例

  関連項目	   すべての例

/*
** Before calling a DDE object in platform independent code,
** use this predicate to determine if DDE is supported on the
** current platform.
*/
IF (DDE.ISSUPPORTED)THEN
. . . PL/SQL code using the DDE package
ELSE
. . . message that DDE is not supported
END IF;


DDE.DMLERR_Not_Supported

  関連項目 	   すべてのビルトイン

説明  DDEパッケージをコールしたときに、現行ソフトウェア・プラットフォームではそのDDEがサポートされていない場合に、この例外がコールされます。

構文

DDE.DMLERR_NOT_SUPPORTED EXCEPTION;


DDE.Poke

  例	   関連項目 	   すべてのビルトイン

説明  データがサーバー・アプリケーションに送信されます。

構文

PROCEDURE DDE.Poke
   (ConvID     PLS_INTEGER,
    Item       VARCHAR2,
    Data       VARCHAR2,
    DataFormat PLS_INTEGER,
    Timeout    PLS_INTEGER);

パラメータ

ConvID	DDE.Initiateによって戻されるDDE対話識別子。
Item	データの送信先となるデータ項目名。
Data	送信するデータ・バッファ。
DataFormat	送信データの形式。
Timeout	タイムアウトするまでの時間（ミリ秒単位）。
使用上の注意  Itemの値は、現行の対話トピックについてサーバー・アプリケーションがサポートする値によって異なります。

DataFormatでは事前定義済みのデータ形式の定数を使えます。

サーバー・アプリケーションが認識できる形式であれば、DDE.Getformatnumで登録されたユーザー定義の形式も使用できます。指定したデータ形式がサーバー・アプリケーションで処理されるかどうかの確認は、ユーザーが各自の責任で行う必要があります。

Timeoutでは、DDEサーバー・アプリケーションからの応答をどれだけの時間待つかをミリ秒単位で指定します。無効な数値（負数など）を指定した場合には、デフォルト値の1000が使用されます。


DDE.Pokeの例

  関連項目	   すべての例

 /*
** Open a DDE Conversation with MS Excel on topic
** abc.xls and end data "foo" to cell at row 2,
** column 2
*/
DECLARE
  ConvID  PLS_INTEGER;
BEGIN
  ConvID = DDE.Initiate('EXCEL', 'abc.xls');
  DDE.Poke(ConvID, 'R2C2', 'foo', DDE.CF_TEXT, 1000);
END;


DDE.Request

  例	   関連項目 	   すべてのビルトイン

説明  サーバー・アプリケーションのデータが要求されます。

構文

PROCEDURE DDE.Request
   (ConvID     PLS_INTEGER,
    Item       VARCHAR2,
    Buffer     VARCHAR2,
    DataFormat PLS_INTEGER,
    Timeout    PLS_INTEGER);

パラメータ

ConvID	DDE.Initiateによって戻されるDDE対話識別子。
Item	要求するデータ項目の名前。
Buffer	結果データ・バッファ。
DataFormat	要求するバッファの形式。
Timeout	タイムアウトするまでの時間（ミリ秒単位）。
使用上の注意  Itemの値は、現行の対話トピックについてサーバー・アプリケーションがサポートする値によって異なります。

要求したデータを扱うのに必要な戻りデータ・バッファのサイズ確認は、ユーザーが各自の責任で行う必要があります。要求したデータよりバッファ・サイズが小さいと、データは切り捨てられます。

DataFormatでは事前定義済みのデータ形式の定数を使えます。

サーバー・アプリケーションが認識できる形式であれば、DDE.Getformatnumで登録されたユーザー定義の形式も使用できます。指定したデータ形式をサーバー・アプリケーションが扱うかどうかの確認は、ユーザーが各自の責任で行う必要があります。

TimeoutではDDEサーバー・アプリケーションからの応答をいつまで待つかをミリ秒単位で指定します。無効な数値（負数など）を指定した場合には、デフォルト値の1000が使用されます。


DDE.Requestの例

  関連項目	   すべての例

 /*
** Open a DDE Conversation with MS Excel for Windows on
** topic abc.xls then request data from 6 cells
** between row 2, column 2 and row 3, column 4
*/
DECLARE
  ConvID   PLS_INTEGER;
  Buffer   VARCHAR2(80);
BEGIN
   ConvID := DDE.Initiate('EXCEL', 'abc.xls');
   DDE.Request (ConvID, 'R2C2:R3C4', Buffer, DDE.Cf_Text,
     1000);
END;


DDE.Terminate

  例	   関連項目 	   すべてのビルトイン

説明  アプリケーションとの指定した対話が終了します。

構文

PROCEDURE DDE.Terminate
    (ConvID PLS_INTEGER);

パラメータ

ConvID	対話識別子。
使用上の注意  DDE.Terminate呼出しの後、終了した対話識別子を使用していたDDE.Execute、DDE.Poke、DDE.RequestおよびDDE.Terminateを呼び出すとエラーが発生します。

DDE.Terminateを使用してサーバー・アプリケーションとの対話を終了するには、DDE.Initiateを使用して対話を起動しておく必要があります。


DDE.Terminateの例

  関連項目	   すべての例

 /*
** Open a DDE Conversation with MS Excel on topic
** abc.xls perform some operations, then terminate
** the conversation
*/
DECLARE
  ConvID	PLS_INTEGER;
BEGIN
  ConvID := DDE.Initiate('EXCEL', 'abc.xls');
  ...
  DDE.Terminate(ConvID);
END;


TOOL_ENVパッケージ

  関連項目 	  すべてのビルトイン

Tool_Env.Getvar


Tool_Env.Getvar

  例	   関連項目 	   すべてのビルトイン

説明  VARCHAR2変数に環境変数をインポートできます。

構文

PROCEDURE Tool_Env.Getvar
   (varname  VARCHAR2,
    varvalue VARCHAR2);

パラメータ

varname	環境変数名。
varvalue	環境変数の値。


Tool_Env.Getvarの例

  関連項目	   すべての例

 /*
** Retrieve the environment variable USER into a
** variable named :userid so you can use it in a
** connect string or other call.
*/
Tool_Env.Getvar('USER', :userid);


TOOL_ERRパッケージ

  関連項目 	  すべてのビルトイン

Tool_Err.Clear

Tool_Err.Code

Tool_Err.Encode

Tool_Err.Message

Tool_Err.Nerrors

Tool_Err.Pop

Tool_Err.Tool_Error

Tool_Err.Toperror


Tool_Err.Clear

  関連項目 	   すべてのビルトイン

説明  エラー・スタック上の現行のすべてのエラーが破棄されます。

構文

PROCEDURE Tool_Err.Clear;


Tool_Err.Code

  例	   関連項目 	   すべてのビルトイン

説明  エラー・スタックのi番目（デフォルトは1番上のエラー）のエラーのエラー・コードが戻されます。スタック上にエラーがない場合、0（ゼロ）が戻されます。

構文

FUNCTION Tool_Err.Code
   (i PLS_INTEGER := TOPERROR)
RETURN NUMBER;

パラメータ

i	エラー・スタックにあるエラーを指定する整数。
戻り値  指定したエラーのエラー・コード。


Tool_Err.Codeの例

  関連項目	   すべての例

/*
** Check for unexpected error, disregard it,
** and print any other error.
*/
PROCEDURE check_err IS
BEGIN
  IF (TOOL_ERR.CODE != pkg_a.not_found) THEN
    TEXT_IO.PUT_LINE(TOOL_ERR.MESSAGE);
  END IF;
  TOOL_ERR.POP;
END;


.Tool_Err.Encode
Tool_Err.Encode

  例	   関連項目 	  すべてのビルトイン

説明  指定した接頭辞とオフセットをもつ、パッケージ内で使用するための一意のエラー・コードが構成されます。

注意: これはPL/SQL例外ではありません。
構文

FUNCTION Tool_Err.Encode
   (prefix VARCHAR2,
    offset PLS_INTEGER)
RETURN NUMBER;

パラメータ

prefix	5文字の文字列。
offset	1～127の整数。
戻り値  エラー・コード。


Tool_Err.Encodeの例

  関連項目	   すべての例

/*
** Define a list of errors for a package
** called pkg_a.
*/
PACKAGE pkg_a IS
  not_found CONSTANT pls_integer := TOOL_ERR.ENCODE('pkg_a', 1);
  bad_value CONSTANT pls_integer := TOOL_ERR.ENCODE('pkg_a', 2);
  too_big   CONSTANT pls_integer := TOOL_ERR.ENCODE('pkg_a', 3);
  too_small CONSTANT pls_integer := TOOL_ERR.ENCODE('pkg_a', 4);
  . . .     /* Rest of pkg_a specification */
END;


Tool_Err.Message

  例	   関連項目 	  すべてのビルトイン

説明  エラー・スタックのi番目のエラー（デフォルトは1番上のエラー）のフォーマットされたメッセージが戻されます。

構文

FUNCTION Tool_Err.Message
   (i PLS_INTEGER := TOPERROR)
RETURN VARCHAR2;

パラメータ

i	エラー・スタックにあるエラーを指定する整数。
戻り値  エラー･メッセージ。


Tool_Err.Messageの例

  関連項目	   すべての例

/*
** Determine the number of errors
** on the stack.Then, loop through stack,
** and print out each error message.
*/
PROCEDURE print_all_errors IS
  number_of_errors   PLS_INTEGER;
BEGIN
EXCEPTION
  WHEN OTHERS THEN
  number_of_errors := TOOL_ERR.NERRORS;
  FOR i IN 1..number_of_errors LOOP
    TEXT_IO.PUT_LINE(TOOL_ERR.MESSAGE(i-1));
  END LOOP;
END;


Tool_Err.Nerrors

  例	   関連項目 	  すべてのビルトイン

説明  エラー・スタック上の現行エラーの数が戻されます。

構文

FUNCTION Tool_Err.Nerrors
RETURN PLS_INTEGER;

戻り値  エラー・スタック上のエラーの数。


Tool_Err.Nerrorsの例

  関連項目	   すべての例

/*
** Determine the number of errors
** on the stack.Then, loop through stack,
** and print out each error message.
*/
PROCEDURE print_all_errors IS
  number_of_errors   PLS_INTEGER;
BEGIN
EXCEPTION
  WHEN OTHERS THEN
  number_of_errors := TOOL_ERR.NERRORS;
  FOR i IN 1..number_of_errors LOOP
    TEXT_IO.PUT_LINE(TOOL_ERR.MESSAGE(i-1));
  END LOOP;
END;


Tool_Err.Pop

  例	   関連項目 	  すべてのビルトイン

説明  エラー・スタック上の1番上のエラーが破棄されます。

構文

PROCEDURE Tool_Err.Pop;


Tool_Err.Popの例

  関連項目	   すべての例

/*
** Loop through each message in the stack,
** print it, then clear the top most error.
*/
BEGIN
  . . .

EXCEPTION
  WHEN OTHERS THEN
  FOR i IN 1..Tool_Err.Nerrors LOOP
    TEXT_IO.PUT_LINE(TOOL_ERR.MESSAGE);
    TOOL_ERR.POP;
  END LOOP;
  . . .

END;


Tool_Err.Tool_Error

  例	   関連項目 	  すべてのビルトイン

説明  エラー・スタックに1つ以上のエラーをプッシュしたことを示すために使用する一般エラーが定義されます。

構文

Tool_Err.Tool_Error  EXCEPTION;


Tool_Err.Tool_Errorの例

  関連項目	   すべての例

/*
** Raise a generic internal error if a function
** argument is out of range.
*/
PROCEDURE my_proc(count PLS_INTEGER) IS
BEGIN
  IF (count < 0) THEN
    RAISE TOOL_ERR.TOOL_ERROR;
  END IF;
  . . .

END;


Tool_Err.Toperror

  例	   関連項目 	  すべてのビルトイン

説明  エラー・スタックの1番上のエラーが識別されます。

構文

Tool_Err.Toperror CONSTANT PLS_INTEGER;


Tool_Err.Toperrorの例

  関連項目	   すべての例

/*
**  Print top-most error on the stack.The same
**  results are produced by calling Tool_Err.Message
**  with no arguments.
*/
BEGIN
  . . .

  TEXT_IO.PUT_LINE(TOOL_ERR.MESSAGE(TOOL_ERR.TOPERROR));
  . . .

END;


EXEC_SQLパッケージ

  関連項目 	  すべてのビルトイン

次のファンクションとプロシージャは、通常のセッションでコールされる順に表示されています。

EXEC_SQL.Open_Connection

EXEC_SQL.Curr_Connection

EXEC_SQL.Default_Connection

EXEC_SQL.Open_Cursor

EXEC_SQL.Parse

EXEC_SQL.Describe_Column

EXEC_SQL.Bind_Variable

EXEC_SQL.Define_Column

EXEC_SQL.Execute

EXEC_SQL.Execute_And_Fetch

EXEC_SQL.Fetch_Rows

EXEC_SQL.More_Result_Sets

EXEC_SQL.Column_Value

EXEC_SQL.Variable_Value

EXEC_SQL.Is_Open

EXEC_SQL.Close_Cursor

EXEC_SQL.Is_Connected

EXEC_SQL.Is_OCA_Connection

EXEC_SQL.Close_Connection

次のファンクションでは、SQL文の実行後、接続時の最後に参照されたカーソルの情報が取り出されます。

EXEC_SQL.Last_Error_Position

EXEC_SQL.Last_Row_Count

EXEC_SQL.Last_SQL_Function_Code

EXEC_SQL.Last_Error_Code

EXEC_SQL.Last_Error_Mesg


EXEC_SQL.Open_Connection

  例	   関連項目 	   すべてのビルトイン

FUNCTION EXEC_SQL.Open_Connection
    (Username     IN VARCHAR2,
     Password     IN VARCHAR2,
     Data source  IN VARCHAR2)
RETURN EXEC_SQL.ConnType;

パラメータ

Connstr	'ユーザー名[パスワード][@データベース文字列]'形式の文字列。
Username	データベースの接続に使用するユーザー名の文字列。
Password	ユーザー名に対するパスワードの文字列。
Data source	SQLNetの別名を指定する文字列または'ODBC:'で始まるOCA接続。

戻り値  新規データベース接続のハンドル。


EXEC_SQL.Open_Connectionの例

  関連項目	   すべての例

PROCEDURE getData IS
  --
  -- a connection handle must have a datatype of EXEC_SQL.conntype
  --
  connection_id EXEC_SQL.CONNTYPE;

  ...

BEGIN
  --
  -- a connection string is typically of the form 'username/password@database_alias'
  --
  connection_id := EXEC_SQL.OPEN_CONNECTION('connection_string');

  ...

END;


EXEC_SQL.Curr_Connection

  例	   関連項目 	   すべてのビルトイン

説明  Developerによって確立された同じデータベース接続を使用する接続ハンドルが返されます。EXEC_SQL.Curr_Connectionは、EXEC_SQL.Default_Connectionに置き換えられます。

構文

FUNCTION EXEC_SQL.Curr_Connection
RETURN EXEC_SQL.ConnType;

戻り値  プライマリDeveloper接続のハンドル。

使用上の注意  EXEC_SQL.Curr_Connectionの代わりにEXEC_SQL.Default_Connectionを使用してください。ただし、下位互換性のためにEXEC_SQL.Curr_Connectionもサポートされています。


EXEC_SQL.Default_Connection

  例	   関連項目 	   すべてのビルトイン

説明  Developerによって確立された同じデータベース接続を使用する接続ハンドルが返されます。EXEC_SQL.Curr_Connectionは、EXEC_SQL.Default_Connectionに置き換えられます。

構文

FUNCTION EXEC_SQL.Default_Connection
RETURN EXEC_SQL.ConnType;

戻り値  プライマリDeveloper接続のハンドル。

使用上の注意  デフォルト接続は、プライマリDeveloper接続です。デフォルト接続は、EXEC_SQL.Default_Connectionが初めてコールされたときに検索され、EXEC_SQLパッケージ内のキャッシュに格納されます。そのキャッシュのハンドルがユーザーに返されます。次回以降のEXEC_SQL.Default_Connectionコールの際には、このハンドルが単純にキャッシュから取り出されます。

このように接続がキャッシュされるので、デフォルト接続のみでデータにアクセスしている場合は、他のEXEC_SQLメソッドコールの際に、明示的に接続ハンドルを指定する必要がありません。 EXEC_SQLでは、自動的にキャッシュが検索され、接続ハンドルが取得されます。

キャッシュをクリアするには、EXEC_SQL.Default_Connectionコールで取得した接続ハンドル上で、EXEC_SQL.Close_Connectionをコールします。デフォルト接続では、EXEC_SQL.Close_Connectionによって接続が終了することはありません。 この場合、EXEC_SQLによって使用されているリソースが解放されるのみです。


EXEC_SQL.Default_ConnectionおよびEXEC_SQL.Curr_Connectionの例

  関連項目	   すべての例

/*
** This example illustrates the use of
** EXEC_SQL.Default_Connection and
** EXEC_SQL.Curr_Connection.
*/
PROCEDURE esdefaultcon2 IS
  connection_id EXEC_SQL.CONNTYPE;
  bIsConnected BOOLEAN;
  cursorID EXEC_SQL.CURSTYPE;
  sqlstr VARCHAR2(1000);
  nIgn PLS_INTEGER;
  nRows PLS_INTEGER := 0;
  nTimes PLS_INTEGER := 0;
  mynum NUMBER;

BEGIN
  --
  -- obtain the default connection and check that it is valid
  --
  connection_id := EXEC_SQL.DEFAULT_CONNECTION;
  bIsConnected := EXEC_SQL.IS_CONNECTED;
  IF bIsConnected = FALSE THEN
    TEXT_IO.PUT_LINE('No primary connection.Please connect before retrying.');
    RETURN;
  END IF;
  --
  -- subsequent calls to EXEC_SQL.Open_Cursor, EXEC_SQL.Parse, 	EXEC_SQL.Define_Column,
  -- EXEC_SQL.Execute, EXEC_SQL.Fetch_Rows, EXEC_SQL.Column_Value,
  -- EXEC_SQL.Close_Cursor, EXEC_SQL.Close_Connection all use this connection
  -- implicitly from the cache
  --
  cursorID := EXEC_SQL.OPEN_CURSOR;
  sqlstr := 'select empno from emp';
  EXEC_SQL.PARSE(cursorID, sqlstr, exec_sql.V7);
  EXEC_SQL.DEFINE_COLUMN(cursorID, 1, mynum);
  nIgn := EXEC_SQL.EXECUTE(cursorID);

  LOOP
    IF (EXEC_SQL.FETCH_ROWS(cursorID) > 0) THEN
      EXEC_SQL.COLUMN_VALUE(cursorID, 1, mynum);

      ...

    ELSE
      exit;
    END IF;
  END LOOP;
  EXEC_SQL.CLOSE_CURSOR(cursorID);
  EXEC_SQL.CLOSE_CONNECTION;
END;


EXEC_SQL.Open_Cursor

  例	   関連項目 	   すべてのビルトイン

説明  指定した接続上で新規のカーソルが作成され、カーソル・ハンドルが返されます。カーソルが不要になった場合は、EXEC_SQL.Close_Cursorを使用して、カーソルを明示的にクローズする必要があります。

構文

FUNCTION EXEC_SQL.Open_Cursor
    [Connid     IN CONNTYPE]
RETURN EXEC_SQL.CursType;

パラメータ

Connid	使用する接続のハンドルです。接続を指定しないと、EXEC_SQL.Default_Connectionによって、キャッシュのプライマリDeveloper接続ハンドルが取り出されます。

戻り値  新規カーソルのハンドル。

使用上の注意  カーソルは、同じSQL文を（再解析なしで）繰り返し実行したり、新規のSQL文を（解析付きで）実行する場合に使用できます。新規の文に対してカーソルを再使用すると、新規の文が解析されるときに、そのカーソルの内容が自動的にリセットされます。つまり、カーソルは再使用する前に、クローズしたり再オープンしたりする必要がありません。


EXEC_SQL.Open_Cursorの例

  関連項目	   すべての例

PROCEDURE getData IS
  --
  -- a cursorID must be of type EXEC_SQL.cursType
  --
  connection_id EXEC_SQL.CONNTYPE;
  cursorID EXEC_SQL.CURSTYPE;

  ...

BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION('connect_str');

  ...

  --
  -- this cursor is now associated with a particular connection
  --
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);

  ...

END;


EXEC_SQL.Parse

  例	   関連項目 	   すべてのビルトイン

説明  このプロシージャでは、指定したカーソルの文を解析します。

構文

PROCEDURE EXEC_SQL.Parse
    ([Connid     IN CONNTYPE,]
      Curs_Id    IN CURSTYPE,
      Statement  IN VARCHAR2
      [Language  IN PLS_INTEGER]);

パラメータ

Connid	使用する接続のハンドルです。接続を指定しないと、EXEC_SQL.Default_Connectionによって、キャッシュのプライマリDeveloper接続ハンドルが取り出されます。
Curs_Id	文に割り当てるカーソル・ハンドルです。
Statement	解析するSQL文です。最後にセミコロンを含めることはできません。
Language_flag	OracleがSQL文を処理する方法を決定するフラグです。有効なフラグは次のとおりです。 V6     Oracle V6の動作を指定する。 V7     Oracle V7の動作を指定する。 NATIVE  デフォルト。

使用上の注意  SQL文はすべて解析プロシージャを使って解析する必要があります。解析することにより、文の構文がチェックされ、構文とカーソルがコード内で関連付けられます。OCI解析とは異なり、EXEC_SQL解析は即座に実行されます。EXEC_SQL解析を後回しにすることはできません。

データ操作言語(DML)やデータ定義言語(DDL)の文を解析することができます。Oracleデータ・ソースでは、DDL文は解析中に実行されます。非Oracleデータ・ソースでは、DDL文は、解析中または実行中に実行される可能性があります。これは、すべてのDDL文が常にEXEC_SQLで解析、実行される必要があることを意味します。


EXEC_SQL.Parseの例

  関連項目	   すべての例

PROCEDURE getData IS
  connection_id EXEC_SQL.CONNTYPE;
  cursorID EXEC_SQL.CURSTYPE;
  sqlstr VARCHAR2(1000);

  ...

BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION(connect_str);
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);
  --
  -- the statement to be parsed is stored as a VARCHAR2 variable
  --
  sqlstr := 'select ename from emp';
  --
  -- perform parsing
  --
  EXEC_SQL.PARSE(connection_id, cursorID, sqlstr, exec_sql.V7);

  ...

END;


EXEC_SQL.Describe_Column

  例	   関連項目 	   すべてのビルトイン

説明  解析したSQL文の結果セット列に関する情報を取得します。結果セットにない列番号を記述しようとすると、EXEC_SQL.Invalid_Column_Number例外が発生します。ヒント

構文

PROCEDURE EXEC_SQL.Describe_Column
    ([Connid     IN CONNTYPE,
      Curs_Id    IN CURSTYPE,
      Position   IN PLS_INTEGER,
      Name       OUT VARCHAR2,
      Collen     OUT PLS_INTEGER,
      Type       OUT PLS_INTEGER]);

パラメータ

Connid	使用する接続のハンドルです。接続を指定しないと、EXEC_SQL.Default_Connectionによって、キャッシュのプライマリDeveloper接続ハンドルが取り出されます。
Curs_Id	説明する列に関連付けられたカーソル・ハンドルです。
Position	説明する列の結果セットの位置です。位置は、左から右の順に1から番号が付けられます。
Name	出力時に列の名前を含みます。
Collen	出力時にバイト単位の列の最大長を含みます。
Type	出力時に列タイプを含みます。有効な値は次のとおりです。 EXEC_SQL.VARCHAR2_TYPE EXEC_SQL.NUMBER_TYPE EXEC_SQL.FLOAT_TYPE EXEC_SQL.LONG_TYPE EXEC_SQL.ROWID_TYPE EXEC_SQL.DATE_TYPE EXEC_SQL.RAW_TYPE EXEC_SQL.LONG_RAW_TYPE EXEC_SQL.CHAR_TYPE (ANSI固定CHAR) EXEC_SQL.MLSLABLE_TYPE (Trusted Oracleのみ)


EXEC_SQL.Describe_Columnの例

  関連項目	   すべての例

PROCEDURE esdesccol(tablename VARCHAR2) IS
  connection_id EXEC_SQL.CONNTYPE;
  cursor_number EXEC_SQL.CURSTYPE;
  sql_str VARCHAR2(256);
  nIgnore PLS_INTEGER;
  nColumns PLS_INTEGER := 0;	 --count of number of columns returned
  colName VARCHAR2(30);
  colLen PLS_INTEGER;
  colType PLS_INTEGER;

BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION('connection_string');
  --
  -- when you do a "select *..." from a table which is known only at runtime,
  -- you cannot know what the columns are a priori.EXEC_SQL.Describe_Column becomes
  -- very usefule then
  --
  sql_str := 'select * from ' || tablename;
  cursor_number := EXEC_SQL.OPEN_CURSOR(connection_id);
  EXEC_SQL.PARSE(connection_id, cursor_number, sql_str, exec_sql.V7);
  nIgnore := EXEC_SQL.EXECUTE(connection_id, cursor_number);

  LOOP
    nColumns := nColumns + 1;  --used as column index into result set
    --
    -- describe_column is in general used within a PL/SQL block with an exception
    -- block included to catch the EXEC_SQL.invalid_column_number exception.
    -- when no more columns are found, we can store the returned column names
    -- and column lengths in a PL/SQL table of records and do further queries
    -- to obtain rows from the table.In this example, colName, colLen and colType
    -- are used to store the returned column characteristics.
    --
  BEGIN
    EXEC_SQL.DESCRIBE_COLUMN(connection_id, cursor_number,
                      nColumns, colName, colLen, colType);
         TEXT_IO.PUT_LINE(' col= ' || nColumns || ' name ' || colName  ||
                          ' len= ' || colLen   || ' type ' || colType );
  EXCEPTION
    WHEN EXEC_SQL.INVALID_COLUMN_NUMBER THEN
      EXIT;
    END;
  END LOOP;

  nColumns := nColumns - 1;
  IF (nColumns <= 0) THEN
    TEXT_IO.PUT_LINE('No columns returned in query');
  END IF;

  ...

  EXEC_SQL.CLOSE_CURSOR(connection_id, cursor_number);
  EXEC_SQL.CLOSE_CONNECTION(connection_id);
END;


EXEC_SQL.Bind_Variable

  例	   関連項目 	   すべてのビルトイン

説明  所定の値をSQL文の名前付き変数にバインドします。

構文

PROCEDURE EXEC_SQL.Bind_Variable
    ([Connid     IN CONNTYPE],
      Curs_Id    IN CURSTYPE,
      Name       IN VARCHAR2,
      Value      IN <datatype>);

<datatype>には、次の値のうちのいずれかが使用できます。

NUMBER
DATE
VARCHAR2

PROCEDURE EXEC_SQL.Bind_Variable
    ([Connid          IN CONNTYPE],
      Curs_Id         IN CURSTYPE,
      Name            IN VARCHAR2,
      Value           IN VARCHAR2,
      Out_Value_Size  IN PLS_INTEGER);

パラメータ

Connid	使用する接続のハンドルです。接続を指定しないと、EXEC_SQL.Default_Connectionによって、キャッシュのプライマリDeveloper接続ハンドルが取り出されます。
Curs_Id	変数のバインドを行うカーソル・ハンドルです。
Name	SQL文内の変数の名前です。
Value	INおよびIN/OUT変数の場合、値は名前付き変数にバインドするデータです。OUT変数の場合、実際にはデータは無視されますが、後でVariable_Valueによって取り出されるPL/SQL変数のタイプを示すため、Bind_Variableを使用する必要があります。
Out_Value_Size	VARCHAR2 OUTまたはIN/OUT変数で予想されるOUTの値のバイト単位の最大サイズ。サイズが指定されていない場合は、値パラメータの現行の長さが使用されます。

使用上の注意  SQL文のプレースホルダを使って、実行時に入力データが提供される場所をマークします。文がPL/SQLブロックまたは出力パラメータ付きのストアド・プロシージャの場合、出力値のプレースホルダも使用する必要があります。

各入力プレースホルダには、値を提供するためのEXEC_SQL.Bind_Variableを使用する必要があります。各出力プレースホルダにもEXEC_SQL.Bind_Variableを使用する必要があります。 これは、次回以降のEXEC_SQL.Bind_Variableコールで、値の引出しに使用される変数タイプを指定するためです。

SQL文の入力プレースホルダまたはバインド変数は、コロンで始まる名前で識別されます。たとえば、「:X」という文字列は、次のSQL文のバインド変数になっています。

SELECT ename FROM emp WHERE SAL > :X;

対応するEXEC_SQL.Bind_Variableプロシージャは次のとおりです。

BIND_VARIABLE(connection_handle, cursor_handle, ':X', 3500);


EXEC_SQL.Bind_Variableの例

  関連項目	   すべての例

PROCEDURE getData(input_empno NUMBER) IS
  connection_id EXEC_SQL.CONNTYPE;
  cursorID EXEC_SQL.CURSTYPE;
  sqlstr VARCHAR2(1000);

  ...

BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION(connect_str);
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);
  --
  -- the statement to be parsed contains a bind variable
  --
  sqlstr := 'select ename from emp where empno = :bn';
  --
  -- perform parsing
  --
  EXEC_SQL.PARSE(connection_id, cursorID, sqlstr, exec_sql.V7);
  --
  -- the bind_variable procedure assigns the value of the input argument to the named
  -- bind variable.Note the use of the semi-colon and the quotes to designate the
  -- bind variable.The bind_variable procedure is called after the parse procedure.
  --
  EXEC_SQL.BIND_VARIABLE(connection_id, cursorID, ':bn', input_empno);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 1, mynum);

  ...

END;


EXEC_SQL.Define_Column

  例	   関連項目 	   すべてのビルトイン

説明  このプロシージャは、SELECT文、または結果セットを返す非Oracleのストアド・プロシージャのコールにのみ使用されます。指定したカーソルからフェッチされる列を定義します。列は結果セットの相対位置によって定義されます。 最初の相対位置は、整数1で識別されます。 定義される列タイプは、列パラメータのPL/SQLタイプによって決まります。

構文

PROCEDURE EXEC_SQL.Define_Column
    ([Connid     IN CONNTYPE],
      Curs_Id    IN CURSTYPE,
      Position   IN PLS_INTEGER,
      Column     IN <datatype>);

<datatype>には、次の値のうちのいずれかが使用できます。

      NUMBER
DATE
VARCHAR2

PROCEDURE EXEC_SQL.Define_Column
    ([Connid       IN CONNTYPE],
      Curs_Id      IN CURSTYPE,
      Position     IN PLS_INTEGER,
      Column       IN VARCHAR2,
      Column_Size  IN PLS_INTEGER);

パラメータ

Connid	使用する接続のハンドルです。接続を指定しないと、EXEC_SQL.Default_Connectionによって、キャッシュのプライマリDeveloper接続ハンドルが取り出されます。
Curs_Id	定義する列のあるカーソル・ハンドルです。
Position	行または結果セットの列の相対位置です。文の最初の列の相対位置は1です。
Column	定義される列の値です。値のタイプによって定義される列のタイプが決まります。変数に格納されている実際の値は無視されます。
Column_Size	列値の予想されるバイト単位の最大サイズ（列タイプがVARCHAR2の場合のみ）。

使用上の注意  問合せを行う場合は、EXEC_SQL.Column_Valueでデータを取り出す前に、列を定義する必要があります。


EXEC_SQL.Define_Columnの例

  関連項目	   すべての例

PROCEDURE getData IS
  connection_id EXEC_SQL.CONNTYPE;
  cursorID EXEC_SQL.CURSTYPE;
  sqlstr VARCHAR2(1000);
  loc_ename VARCHAR2(30);   -- these are variables local to the procedure;
  loc_eno NUMBER;           -- used to store the return values from our desired
  loc_hiredate DATE;        -- query

 ...

BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION(connect_str);
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);
  sqlstr := 'select ename, empno, hiredate from emp ';
  EXEC_SQL.PARSE(connection_id, cursorID, sqlstr, exec_sql.V7);
  EXEC_SQL.BIND_VARIABLE(connection_id, cursorID, ':bn', input_empno);
  --
  -- we make one call to DEFINE_COLUMN per item in the select list.We must use local
  -- variables to store the returned values.For a result value that is a VARCHAR,
  -- it  is important to specify the maximumn length.For a result value that is a
  -- number or a date, there is no need to specify the maximum length.We obtain the
  -- relative positions of the columns being returned from the select statement,
  -- sql_str.
  --
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 1, loc_ename, 30);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 2, loc_eno);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 3, loc_hiredate);

 ...

END;


EXEC_SQL.Execute

  例	   関連項目 	   すべてのビルトイン

説明  指定したカーソルでSQL文を実行します。

構文

FUNCTION EXEC_SQL.Execute
    ([Connid     IN CONNTYPE],
      Curs_Id    IN CURSTYPE)
RETURN PLS_INTEGER;

パラメータ

Connid	使用する接続のハンドルです。接続を指定しないと、EXEC_SQL.Default_Connectionによって、キャッシュのプライマリDeveloper接続ハンドルが取り出されます。
Curs_Id	実行するSQL文のカーソル・ハンドルです。
戻り値  処理した行数。

使用上の注意  戻り値は、INSERT、UPDATE、DELETET文でのみ有効です。DDLなどの他の文では、戻り値が定義されていないために無視されます。


EXEC_SQL.Executeの例

  関連項目	   すべての例

PROCEDURE getData IS
  connection_id EXEC_SQL.CONNTYPE;
  cursorID EXEC_SQL.CURSTYPE;
  sqlstr VARCHAR2(1000);
  loc_ename VARCHAR2(30);
  loc_eno NUMBER;
  loc_hiredate DATE;
  nIgn PLS_INTEGER;

 ...

BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION(connect_str);
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);
  sqlstr := 'select ename, empno, hiredate from emp ';
  EXEC_SQL.PARSE(connection_id, cursorID, sqlstr, exec_sql.V7);
  EXEC_SQL.BIND_VARIABLE(connection_id, cursorID, ':bn', input_empno);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 1, loc_ename, 30);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 2, loc_eno);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 3, loc_hiredate);
  --
  -- after parsing, and calling BIND_VARIABLE and DEFINE_COLUMN, if necessary, you
  -- are ready to execute the statement.Note that all information about the
  -- statement and its result set is encapsulated in the cursor referenced as cursorID.
  --
  nIgn := EXEC_SQL.EXECUTE(connection_id, cursorID);

 ...

END;


EXEC_SQL.Execute_And_Fetch

  例	   関連項目 	   すべてのビルトイン

説明  このファンクションは、EXEC_SQL.ExecuteとEXEC_SQL.Fetch_Rowsを順番にコールします。指定したカーソルでSQL文が実行され、問合せを満たす最初の行が取り出されます。EXEC_SQL.Execute_And_Fetchをリモート・データベースに対してコールすると、ラウンドトリップ回数が減る可能性があります。

構文

FUNCTION EXEC_SQL.Execute_And_Fetch
    ([Connid     IN CONNTYPE],
      Curs_Id    IN CURSTYPE,
      Exact      IN BOOLEAN DEFAULT FALSE)
RETURN PLS_INTEGER;

パラメータ

Connid	使用する接続のハンドルです。接続を指定しないと、EXEC_SQL.Default_Connectionによって、キャッシュのプライマリDeveloper接続ハンドルが取り出されます。
Curs_Id	実行するSQL文のカーソル・ハンドルです。
Exact	デフォルトではFALSEです。EXEC_SQL.Package_Errorの例外を発生させる場合は、値をTRUEに設定します。例外が発生しても、行は取り出されます。
戻り値  フェッチされた行数（0または1のいずれか）。


EXEC_SQL.Execute_And_Fetchの例

  関連項目	   すべての例

PROCEDURE getData(input_empno NUMBER) IS
  connection_id EXEC_SQL.CONNTYPE;
  cursorID EXEC_SQL.CURSTYPE;
  sqlstr VARCHAR2(1000);
  loc_ename VARCHAR2(30);
  loc_eno NUMBER;
  loc_hiredate DATE;
  nIgn PLS_INTEGER;

 ...

BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION(connect_str);
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);
  --
  -- assuming that empno is a primary key of the table emp, the where clause guarantees
  -- that 0 or 1 row is returned
  --
  sqlstr := 'select ename, empno, hiredate from emp '
  sqlstr := sqlstr || ' where empno = ' || input_empno;
  EXEC_SQL.PARSE(connection_id, cursorID, sqlstr, exec_sql.V7);
  EXEC_SQL.BIND_VARIABLE(connection_id, cursorID, ':bn', input_empno);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 1, loc_ename, 30);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 2, loc_eno);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 3, loc_hiredate);
  --
  -- do execute_and_fetch after parsing the statement, and calling bind_variable
  -- and define_column if necessary
  --
  nIgn := EXEC_SQL.EXECUTE_AND_FETCH (connection_id, cursorID);
  IF (nIgn = 0 ) THEN
    TEXT_IO.PUT_LINE (' No employee has empno = ' || input_empno);
  ELSE IF (nIgn = 1) THEN
    TEXT_IO.PUT_LINE (' Found one employee with empno ' || input_empno);
  --
  -- obtain the values in this row
  --
    EXEC_SQL.column_value(connection_id, cursorID, 1, loc_ename);
    EXEC_SQL.column_value(connection_id, cursorID, 2, loc_eno);
    EXEC_SQL.column_value(connection_id, cursorID, 3, loc_hiredate);

 ...

  END IF;

 ...

END;


EXEC_SQL.Fetch_Rows

  例	   関連項目 	   すべてのビルトイン

説明  指定したカーソルで問合せを満たす行を取り出します。

構文

FUNCTION EXEC_SQL.Fetch_Rows
    ([Connid     IN CONNTYPE],
      Curs_Id    IN CURSTYPE)
RETURN PLS_INTEGER;

パラメータ

Connid	使用する接続のハンドルです。接続を指定しないと、EXEC_SQL.Default_Connectionによって、キャッシュのプライマリDeveloper接続ハンドルが取り出されます。
Curs_Id	フェッチの対象となるSQL文のカーソル・ハンドルです。
戻り値  実際にフェッチされた行数。

使用上の注意  各EXEC_SQL.Fetch_Rowsコールによって、1つの行がバッファに取り出されます。0が返されるまで、繰り返しEXEC_SQL.Fetch_Rowsを使用してください。Oracleデータベースでは、これは結果セットにデータがないことを意味します。非Oracleデータ・ソースでは、これは指定したカーソルにデータがないことを意味しません。詳細は、EXEC_SQL.More_Results_Setsを参照してください。

各EXEC_SQL.Fetch_Rowsコールを行った後に、EXEC_SQL.Column_Valueを使って、フェッチされた行の各列を読み込んでください。


EXEC_SQL.Fetch_Rowsの例

  関連項目	   すべての例

PROCEDURE getData IS
  connection_id EXEC_SQL.CONNTYPE;
  cursorID EXEC_SQL.CURSTYPE;
  sqlstr VARCHAR2(1000);
  loc_ename VARCHAR2(30);
  loc_eno NUMBER;
  loc_hiredate DATE;
  nIgn PLS_INTEGER;
  nRows PLS_INTEGER := 0;  -- used for counting the actual number of rows returned

 ...

BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION(connect_str);
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);
  sqlstr := 'select ename, empno, hiredate from emp ';
  EXEC_SQL.PARSE(connection_id, cursorID, sqlstr, exec_sql.V7);
  EXEC_SQL.BIND_VARIABLE(connection_id, cursorID, ':bn', input_empno);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 1, loc_ename, 30);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 2, loc_eno);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 3, loc_hiredate);
  nIgn := EXEC_SQL.EXECUTE(connection_id, cursorID);
  --
  -- call FETCH_ROWS to obtain a row.When a row is returned, obtain the values,
  -- and increment the count.
  --
  WHILE (EXEC_SQL.FETCH_ROWS(connection_id, cursorID) > 0 ) LOOP
    nRows := nRows + 1;
    EXEC_SQL.COLUMN_VALUE(connection_id, cursorID, 1, loc_ename;
    EXEC_SQL.COLUMN_VALUE(connection_id, cursorID, 2, loc_eno);
    EXEC_SQL.COLUMN_VALUE(connection_id, cursorID, 3, loc_hiredate);

 ...

  END LOOP;
  --
  -- The loop terminates when FETCH_ROWS returns 0. This could have happen because
  -- the query was incorrect or because there were no more rows.To distinguish
  -- between these cases, we keep track of the number of rows returned.
  --
  IF (nRows <= 0) THEN
    TEXT_IO.PUT_LINE ('Warning:query returned no rows');
  END IF;

 ...

END;


EXEC_SQL.More_Result_Sets

  例	   関連項目 	   すべてのビルトイン

説明  このファンクションは、非オラクル接続にのみ適用されます。指定したカーソルに、他に取り出すべき結果セットがないかどうかを確認します。

構文

FUNCTION EXEC_SQL.More_Result_Sets
    ([Connid     IN CONNTYPE],
      Curs_Id    IN CURSTYPE)
RETURN BOOLEAN;

パラメータ

Connid	使用する接続のハンドルです。接続を指定しないと、EXEC_SQL.Default_Connectionによって、キャッシュのプライマリDeveloper接続ハンドルが取り出されます。
Curs_Id	フェッチの対象となるSQL文のカーソル・ハンドルです。
戻り値  TRUEまたはFALSE。

使用上の注意  Oracleデータベースに対して使用すると、このファンクションは常にFALSEを返します。非Oracleストアド・プロシージャに、取り出すべき別の結果セットがあると、ファンクションは結果セットを初期化し、TRUEを返します。EXEC_SQL.Describe_Columnを使って新しい結果セットの情報を取得し、必要に応じてEXEC_SQL.Fetch_Rowsを使ってデータを取り出します。


EXEC_SQL.More_Result_Setsの例

  関連項目	   すべての例

PROCEDURE esmoreresultsets(sqlstr VARCHAR2) IS
  conidODBC EXEC_SQL.CONNTYPE;
  nRes PLS_INTEGER;
  nRows PLS_INTEGER := 0 ;
  curID EXEC_SQL.CURSTYPE;
BEGIN
  --
  -- an ODBC connection string; usually has the form 'username/password@ODBD:dbname'
  --
  conidODBC := EXEC_SQL.OPEN_CONNECTION('connection_str_ODBC');
  curID := EXEC_SQL.OPEN_CURSOR(conidODBC);
  EXEC_SQL.PARSE(conidODBC, curID, sqlstr, exec_sql.v7);
  nRes := EXEC_SQL.EXECUTE(conidODBC, curID);
  --
  -- obtain results from first query in sqlstr
  WHILE (EXEC_SQL.FETCH_ROWS(conidODBC, curID) > 0) LOOP
    nRows := nRows + 1;

 ...

  END LOOP;
  --
  -- for some non-Oracle databases, sqlstr may contain a batch of queries;
  -- MORE_RESULT_SETS checks for additional result sets
  --
  IF (EXEC_SQL.MORE_RESULT_SETS(conidODBC, curID)) THEN
    TEXT_IO.PUT_LINE(' more result sets ');
  ELSE
    TEXT_IO.PUT_LINE(' no more result sets ');
  END IF;

 ...

  EXEC_SQL.CLOSE_CONNECTION(conidODBC);
END;


EXEC_SQL.Column_Value

  例	   関連項目 	   すべてのビルトイン

説明  このプロシージャは、所定のカーソル位置にカーソルの値を返します。これは、EXEC_SQL.Fetch_Rowsコールによってフェッチされたデータにアクセスするために使用します。

構文

PROCEDURE EXEC_SQL.Column_Value
    ([Connid        IN CONNTYPE],
      Curs_Id       IN CURSTYPE,
      Position      IN PLS_INTEGER,
      Value         OUT <datatype>,
     [Column_Error  OUT NUMBER],
     [Actual_Length OUT PLS_INTEGER]);

<datatype>には、次の値のうちのいずれかが使用できます。

NUMBER
DATE
VARCHAR2

パラメータ

名前	モード	説明
Connid	IN	使用する接続のハンドルです。接続を指定しないと、EXEC_SQL.Default_Connectionによって、キャッシュのプライマリDeveloper接続ハンドルが取り出されます。
Curs_Id	IN	列値を取得する行のカーソル・ハンドルです。
Position	IN	指定したカーソルの列の相対位置です。左から始まり、最初の列の位置は1になります。
Value	OUT	指定した列と行の値を返します。
Column_Error	OUT	指定した列値についてエラー・コードを返します（Oracleデータ・ソースのみ）。
Actual_Length	OUT	切捨ての前に実際の列値の長さを返します。

使用上の注意  EXEC_SQL.Column_Valueを使って値を取り出す前に、EXEC_SQL.Define_Columnを使って列データ文字を定義する必要があります。EXEC_SQL.Define_Columnで指定した値とは異なるPL/SQLタイプの値を指定すると、EXEC_SQL.Value_Errorの例外が発生します。


EXEC_SQL.Column_Valueの例

  関連項目	   すべての例

PROCEDURE getData IS
  connection_id EXEC_SQL.CONNTYPE;
  cursorID EXEC_SQL.CURSTYPE;
  sqlstr VARCHAR2(1000);
  loc_ename VARCHAR2(30);
  loc_eno NUMBER;
  loc_hiredate DATE;
  nIgn PLS_INTEGER;
  nRows PLS_INTEGER := 0;

 ...

BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION(connect_str);
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);
  sqlstr := 'select ename, empno, hiredate from emp ';
  EXEC_SQL.PARSE(connection_id, cursorID, sqlstr, exec_sql.V7);
  EXEC_SQL.BIND_VARIABLE(connection_id, cursorID, ':bn', input_empno);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 1, loc_ename, 30);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 2, loc_eno);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 3, loc_hiredate);
  nIgn := EXEC_SQL.EXECUTE(connection_id, cursorID);
  --
  -- You must have used DEFINE_COLUMN to define the column data characteristics before
  -- using COLUMN_VALUE to retrieve the value.Assign the row's first value to the


  -- local variable loc_ename.Assign the row's second value to the local variable
  -- loc_eno.Assign the row's third value to the local variable loc_hiredate.
  --
  WHILE (EXEC_SQL.FETCH_ROWS(connection_id, cursorID) > 0 ) LOOP
    nRows := nRows + 1;
    EXEC_SQL.COLUMN_VALUE(connection_id, cursorID, 1, loc_ename);
    EXEC_SQL.COLUMN_VALUE(connection_id, cursorID, 2, loc_eno);
    EXEC_SQL.COLUMN_VALUE(connection_id, cursorID, 3, loc_hiredate);

   ...

  END LOOP;
  IF (nRows <= 0) THEN
    TEXT_IO.PUT_LINE ('Warning:query returned no rows');
  END IF;

 ...

END;


EXEC_SQL.Variable_Value

  例	   関連項目 	   すべてのビルトイン

説明  このプロシージャは、指定したカーソルで名前付きバインド変数の出力値を取り出します。無名PL/SQLブロックのバインド変数の値も返されます。

構文

PROCEDURE EXEC_SQL.Variable_Value
    ([Connid     IN CONNTYPE],
      Curs_Id    IN CURSTYPE,
      Name       IN VARCHAR2,
      Value      OUT <datatype>);

<datatype>には、次の値のうちのいずれかが使用できます。

NUMBER
DATE
VARCHAR2

パラメータ

名前	モード	説明
Connid	IN	使用する接続のハンドルです。接続を指定しないと、EXEC_SQL.Default_Connectionによって、キャッシュのプライマリDeveloper接続ハンドルが取り出されます。
Curs_Id	IN	バインド変数を取り出すカーソル・ハンドルです。
Name	IN	バインド変数の名前です。
Value	OUT	指定したカーソルのバインド変数の値を返します。

使用上の注意  EXEC_SQL.Bind_Variableを使ってバインド変数に指定したデータ型以外のものを取り出そうとすると、EXEC_SQL.Value_Error例外が発生します。


EXEC_SQL.Variable_Valueの例

  関連項目	   すべての例

It is assumed that the following procedure, tstbindnum, exists on the server which is specified by the connection string used in OPEN_CONNECTION.

Create or replace procedure tstbindnum (input IN NUMBER, output OUT NUMBER) as

BEGIN
  output := input * 2;
END;

All this procedure does is to take an input number, double its value, and return it in the out variable.

PROCEDURE esvarvalnum (input IN NUMBER) IS
  connection_id EXEC_SQL.CONNTYPE;
  bIsConnected BOOLEAN;
  cursorID EXEC_SQL.CURSTYPE;
  sqlstr VARCHAR2(1000);
  nRes PLS_INTEGER;
  mynum NUMBER;
BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION('connection_string');
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);
  sqlstr := 'begin   tstbindnum(:bn1, :bnret);   end;';   -- an anonymous block
  EXEC_SQL.PARSE(connection_id, cursorID, sqlstr, exec_sql.V7);
  --
  -- define input value
  --
  EXEC_SQL.BIND_VARIABLE(connection_id, cursorID, ':bn1', input);
  --
  -- set up output value
  --
  EXEC_SQL.BIND_VARIABLE(connection_id, cursorID, ':bnret', mynum);
  nRes := EXEC_SQL.EXECUTE(connection_id, cursorID);
  --
  -- after the statement is executed, we call VARIABLE_VALUE to obtain the value
  -- of the bind variable :bnret
  --
  EXEC_SQL.VARIABLE_VALUE(connection_id, cursorID, ':bnret', mynum);
  EXEC_SQL.CLOSE_CURSOR(connection_id, cursorID);
  EXEC_SQL.CLOSE_CONNECTION(connection_id);
END;


EXEC_SQL.Is_Open

  例	   関連項目 	   すべてのビルトイン

説明  指定したカーソルが指定した接続上でオープンしている場合にTRUEを返します。

構文

FUNCTION EXEC_SQL.Is_Open
    ([Connid     IN CONNTYPE],
      Curs_Id    IN CURSTYPE)
RETURN BOOLEAN;

パラメータ

Connid	使用する接続のハンドルです。接続を指定しないと、EXEC_SQL.Default_Connectionによって、キャッシュのプライマリDeveloper接続ハンドルが取り出されます。
Curs_Id	オープンしているかどうかを確認するカーソル・ハンドルです。
戻り値  TRUEまたはFALSE。


EXEC_SQL.Is_Open、EXEC_SQL.Close_Cursor、EXEC_SQL.Is_ConnectedおよびEXEC_SQL.Close_Connectionの例

  関連項目	   すべての例

/*
** This example illustrates the use of EXEC_SQL.Is_Open,
** EXEC_SQL.Close_Cursor, EXEC_SQL.Is_Connected and
** EXEC_SQL.Close_Connection.
*/
PROCEDURE esclosecursor.pld IS
  connection_id EXEC_SQL.CONNTYPE;
  bIsConnected BOOLEAN;
  cr1 EXEC_SQL.CURSTYPE;
  sqlstr1 VARCHAR2(200);
  sqlstr2 VARCHAR2(200);
  nRes PLS_INTEGER;
  bOpen BOOLEAN;
  nRows PLS_INTEGER;
  loc_ename VARCHAR2(30);
  loc_eno NUMBER;
  loc_hiredate DATE;
BEGIN
  BEGIN
    connection_id := EXEC_SQL.OPEN_CONNECTION('connection_str');
  EXCEPTION
    WHEN EXEC_SQL.PACKAGE_ERROR THEN
    TEXT_IO.PUT_LINE(' connection open failed ');
  END;
  --
  -- confirm that connection is valid
  --
  bIsConnected := EXEC_SQL.IS_CONNECTED(connection_id);
  IF bIsConnected = FALSE THEN
    TEXT_IO.PUT_LINE('No present connection to any data source.Please connect before retrying.');
    RETURN;
  END IF;
  --
  -- open a cursor and do an update
  --
  cr1 := EXEC_SQL.OPEN_CURSOR(connection_id);
  sqlstr1 := 'update emp set empno = 3600 where empno = 7839';
  EXEC_SQL.PARSE(connection_id, cr1, sqlstr1, exec_sql.V7);

  nRes := EXEC_SQL.EXECUTE(connection_id, cr1);
  --
  -- reuse the same cursor, if open, to do another query.
  --
  sqlstr2 := 'select ename, empno, hiredate from emp ';
  --
  -- use IS_OPEN to check the state of the cursor
  --
  IS (EXEC_SQL.IS_OPEN(connection_id, cr1) != TRUE) THEN
    TEXT_IO.PUT_LINE('Cursor no longer available ');
    RETURN;
  END IF;
  --
  -- associate the cursor with another statement, and proceed to do the query.
  --
  EXEC_SQL.PARSE(connection_id, cr1, sqlstr2, exec_sql.V7);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cr1, 1, loc_ename, 30);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cr1, 2, loc_eno);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cr1, 3, loc_hiredate);
  nIgn := EXEC_SQL.EXECUTE(connection_id, cr1);
  WHILE (EXEC_SQL.FETCH_ROWS(connection_id, cursorID) > 0 ) LOOP
    nRows := nRows + 1;
    EXEC_SQL.COLUMN_VALUE(connection_id, cr1, 1, loc_ename);
    EXEC_SQL.COLUMN_VALUE(connection_id, cr1, 2, loc_eno);
    EXEC_SQL.COLUMN_VALUE(connection_id, cr1, 3, loc_hiredate);

 ...

  END LOOP;
  --
  -- close the cursor and connection to free up resources
  --
  EXEC_SQL.CLOSE_CURSOR(connection_id, cr1);
  EXEC_SQL.CLOSE_CONNECTION(connection_id);
END;


EXEC_SQL.Close_Cursor

  例	   関連項目 	   すべてのビルトイン

説明  指定したカーソルをクローズし、割り当てられていたメモリーを解放します。

構文

PROCEDURE EXEC_SQL.Close_Cursor
    ([Connid     IN CONNTYPE],
      Curs_Id    IN OUT CURSTYPE);

パラメータ

パラメータ	モード	説明
Connid	IN	使用する接続のハンドルです。接続を指定しないと、EXEC_SQL.Default_Connectionによって、キャッシュのプライマリDeveloper接続ハンドルが取り出されます。
Curs_Id	IN OUT	クローズするカーソル・ハンドルです。 NULLに設定します。
使用上の注意  カーソルが不要になった場合は、そのカーソルをクローズします。不要なカーソルをクローズしないと、新規カーソルをオープンすることができません。


EXEC_SQL.Is_Connected

  例	   関連項目 	   すべてのビルトイン

説明  指定した接続ハンドルがデータ・ソースに接続されていると、TRUEが返されます。

構文

FUNCTION EXEC_SQL.Is_Connected
    [Connid     IN CONNTYPE]
RETURN BOOLEAN;

パラメータ

Connid	使用する接続のハンドルです。接続を指定しないと、EXEC_SQL.Default_Connectionによって、キャッシュのプライマリOracle Developer接続ハンドルが取り出されます。

戻り値  TRUEまたはFALSE。


EXEC_SQL.Is_OCA_Connection

  例	   関連項目 	   すべてのビルトイン

説明  指定した接続ハンドルがOCA接続用のものである場合に、TRUEが返されます。

構文

FUNCTION EXEC_SQL.Is_OCA_Connection
    ([Connid     IN CONNTYPE]
RETURN BOOLEAN;

パラメータ

Connid	使用する接続のハンドルです。接続を指定しないと、EXEC_SQL.Default_Connectionによって、キャッシュのプライマリDeveloper接続ハンドルが取り出されます。

戻り値  TRUEまたはFALSE。


EXEC_SQL.Is_OCA_Connectionの例

  関連項目	   すべての例

PROCEDURE esmoreresultsets(sqlstr VARCHAR2) IS
  conidODBC EXEC_SQL.CONNTYPE;
  nRes PLS_INTEGER;
  nRows PLS_INTEGER := 0 ;
  curID EXEC_SQL.CURSTYPE;
BEGIN
  --
  -- an ODBC connection string
  --
  conidODBC := EXEC_SQL.OPEN_CONNECTION('connection_str_ODBC');
  curID := EXEC_SQL.OPEN_CURSOR(conidODBC);
  EXEC_SQL.PARSE(conidODBC, curID, sqlstr, exec_sql.v7);
  nRes := EXEC_SQL.EXECUTE(conidODBC, curID);
  --
  -- obtain results from first query in sqlstr
  --
  WHILE (EXEC_SQL.FETCH_ROWS(conidODBC, curID) > 0) LOOP
    nRows := nRows + 1;

 ...

  END LOOP;
  --
  -- check whether this is an OCA connection.Does not continue for an Oracle
  -- connection.
  --
  IF (EXEC_SQL.IS_OCA_CONNECTION != TRUE) THEN
    TEXT_IO.PUT_LINE('Not an OCA connection ');
    RETURN;
  END IF;
  --
  -- check for more result sets
  --
  IF (EXEC_SQL.MORE_RESULT_SETS(conidODBC, curID)) THEN
    TEXT_IO.PUT_LINE(' more result sets ');
  ELSE
    TEXT_IO.PUT_LINE(' no more result sets ');
  END IF;

 ...

  EXEC_SQL.CLOSE_CONNECTION(conidODBC);
END;


EXEC_SQL.Close_Connection

  例	   関連項目 	   すべてのビルトイン

説明  このプロシージャは、接続ハンドルによって使用されていたリソースをすべて解放し、無効にします。

構文

PROCEDURE EXEC_SQL.Close_Connection
    ([Connid     IN OUT CONNTYPE]);

パラメータ

名前	モード	説明
Connid	IN	使用する接続のハンドルです。接続を指定しないと、EXEC_SQL.Default_Connectionによって、キャッシュのプライマリDeveloper接続ハンドルが取り出されます。
	OUT	ハンドルをNULLに設定します。ハンドルに割り当てられていたメモリーもすべて解放されます。

使用上の注意  EXEC_SQL.Open_Connectionを使って接続をオープンした場合に、EXEC_SQL.Close_Connectionを使用すると、データベース接続もクローズされます。EXEC_SQL.Default_Connectionを使ってオープンした場合は、EXEC_SQL.Close_Connectionによってデータベース接続がクローズされることはありません。

不要になった接続はクローズする必要があります。接続をクローズしないと、データベース接続はオープン状態のままになり、オープンしているカーソルなど、接続に割り当てられたメモリーが使用された状態のままになります。これにより、接続デッドロックになる場合があります。


EXEC_SQL.Last_Error_Position

  例	   関連項目 	   すべてのビルトイン

説明  エラーが発生したSQL文のバイト・オフセットを返します。文の最初の文字は、0の位置に配置されます。

構文

FUNCTION EXEC_SQL.Last_Error_Position
    [Connid     IN CONNTYPE]
RETURN PLS_INTEGER;

パラメータ

Connid	使用する接続のハンドルです。接続を指定しないと、EXEC_SQL.Default_Connectionによって、キャッシュのプライマリDeveloper接続ハンドルが取り出されます。

戻り値  整数。

使用上の注意  このファンクションは、EXEC_SQL.PARSEの後、他のEXEC_SQLプロシージャまたはファンクションを使用する前に使用してください。OCAデータ・ソースについては、エラーが発生したバイト・オフセットを確認することはできません。


EXEC_SQL.Last_Error_Positionの例

  関連項目	   すべての例

PROCEDURE eslasterrorpos(sqlstr VARCHAR2) is
  connection_id EXEC_SQL.CONNTYPE;
  cursorID EXEC_SQL.CURSTYPE;
  nErrPos PLS_INTEGER := 0;
  errmesg VARCHAR2(256);
BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION('');
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);
  BEGIN
  --
  -- parsing statement from caller
  --
    EXEC_SQL.parse(connection_id, cursorID, sqlstr, exec_sql.V7);
  --
  -- check for error in statement; find out position where statement syntax is in error
  --
  EXCEPTION
    WHEN EXEC_SQL.PACKAGE_ERROR THEN
      nErrPos := EXEC_SQL.LAST_ERROR_POSITION(connection_id);
      TEXT_IO.PUT_LINE(' position in text where error occured '|| nErrPos);
      errmesg := EXEC_SQL.LAST_ERROR_MESG(connection_id);
      TEXT_IO.PUT_LINE(' error message ' || errmesg);
      RETURN;
  END;
  --
  -- here to execute statement
  --

  ...

  ... nRes := EXEC_SQL.EXECUTE(connection_id, cursorID);

  ...

  EXEC_SQL.CLOSE_CURSOR(connection_id, cursorID);
  EXEC_SQL.CLOSE_CONNECTION(connection_id);
END;


EXEC_SQL.Last_Row_Count

  例	   関連項目 	   すべてのビルトイン

説明  フェッチされた行の累積数が返されます。

構文

FUNCTION EXEC_SQL.Last_Row_Count
    [Connid     IN CONNTYPE]
RETURN PLS_INTEGER;

パラメータ

Connid	使用する接続のハンドルです。接続を指定しないと、EXEC_SQL.Default_Connectionによって、キャッシュのプライマリDeveloper接続ハンドルが取り出されます。

戻り値  整数。

使用上の注意  このファンクションは、EXEC_SQL.Fetch_RowsまたはEXEC_SQL.Execute_And_Fetchをコールした後に使用してください。EXEC_SQL.Executeコールの後に使用すると、0が返されます。


EXEC_SQL.Last_Row_Countの例

  関連項目	   すべての例

PROCEDURE eslastrowcount is
  connection_id EXEC_SQL.CONNTYPE;
  cursorID EXEC_SQL.CURSTYPE;
  sqlstr VARCHAR2(1000);
  nIgn PLS_INTEGER;
  nRows PLS_INTEGER := 0 ;
  mynum NUMBER;
BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION('connection_str');
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);
  --
  -- in this query, we order the results explicitly
  --
  sqlstr := 'select empno from emp order by empno';
  EXEC_SQL.PARSE(connection_id, cursorID, sqlstr, exec_sql.V7);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 1, mynum);
  nIgn := EXEC_SQL.EXECUTE(connection_id, cursorID);
  LOOP
    nIgn := EXEC_SQL.FETCH_ROWS(connection_id, cursorID);
    --
    -- do whatever processing is desired
    --
    IF (nIgn > 0) THEN
      EXEC_SQL.COLUMN_VALUE(connection_id, cursorID, 1, mynum);

      ...

    END IF;
    nRows := EXEC_SQL.LAST_ROW_COUNT(connection_id);
    --
    -- In this example, we are only interested in the first 10 rows, and exit after
    -- fetching them
    --
    IF (nRows > 10) THEN
      EXIT;
    END IF;
  END LOOP;
  EXEC_SQL.CLOSE_CURSOR(connection_id, cursorID);
  EXEC_SQL.CLOSE_CONNECTION(connection_id);
END;


EXEC_SQL.Last_SQL_Function_Code

  例	   関連項目 	   すべてのビルトイン

説明  SQL文のタイプを示す、最後のSQLファンクション・コードが返されます。有効なファンクション・コードの一覧については、『Oracle8コール・インタフェース プログラマーズ・ガイド』を参照してください。

構文

FUNCTION EXEC_SQL.Last_SQL_Function_Code
    [Connid     IN CONNTYPE]
RETURN PLS_INTEGER;

パラメータ

Connid	使用する接続のハンドルです。接続を指定しないと、EXEC_SQL.Default_Connectionによって、キャッシュのプライマリDeveloper接続ハンドルが取り出されます。

戻り値  整数。

使用上の注意  このファンクションは、SQL文を解析した直後に使用してください。


EXEC_SQL.Last_SQL_Function_Codeの例

  関連項目	   すべての例

/*
** In this procedure, a statement is passed in and executed.If the statement is a
** select statement, then further processing is initiated to determine the column
** characteristics.
*/

PROCEDURE eslastfunccode(sqlstr VARCHAR2) IS
  connection_id EXEC_SQL.CONNTYPE;
  cursor_number EXEC_SQL.CursType;
  --
  -- The values for the function codes is dependent on the RDBMS version.
  --
  SELECTFUNCCODE PLS_INTEGER := 3;
  sql_str VARCHAR2(256);
  nColumns PLS_INTEGER := 0;
  nFunc PLS_INTEGER := 0;
  colName VARCHAR2(30);
  colLen PLS_INTEGER;
  colType PLS_INTEGER;
BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION('connection_str');
  cursor_number := EXEC_SQL.OPEN_CURSOR(connection_id);
  EXEC_SQL.PARSE(connection_id, cursor_number, sql_str, exec_sql.V7);
  nIgnore := EXEC_SQL.EXECUTE(connection_id, cursor_number);
  --
  -- check what kind of function it is
  --
  nFunc := EXEC_SQL.LAST_SQL_FUNCTION_CODE(connection_id);
  IF (nFunc != SELECTFUNCCODE) THEN
    RETURN;
  END IF;
  --
  -- proceed to obtain the column characteristics
  --
  LOOP
    nColumns := nColumns + 1;
    BEGIN
      EXEC_SQL.DESCRIBE_COLUMN(connection_id, cursor_number,
                        nColumns, colName, colLen, colType);
           TEXT_IO.PUT_LINE(' col= ' || nColumns || ' name ' || colName  ||
                            ' len= ' || colLen   || ' type ' || colType );
    EXCEPTION
    WHEN EXEC_SQL.INVALID_COLUMN_NUMBER THEN
      EXIT;
    END;
  END LOOP;
  EXEC_SQL.CLOSE_CURSOR(connection_id, cursor_number);
  EXEC_SQL.LCOSE_CONNECTION(connection_id);
END;


EXEC_SQL.Last_Error_Code

  例	   関連項目 	   すべてのビルトイン

説明  接続上で発生した最後のOracleエラー・コードを返します。

構文

FUNCTION EXEC_SQL.Last_Error_Code
    [Connid     IN CONNTYPE]
RETURN PLS_INTEGER;

パラメータ

Connid	使用する接続のハンドルです。接続を指定しないと、EXEC_SQL.Default_Connectionによって、キャッシュのプライマリDeveloper接続ハンドルが取り出されます。

戻り値  整数。

使用上の注意  このファンクションは、EXEC_SQL.Package_Error例外が発生した直後に使用してください。


EXEC_SQL.Last_Error_Code and EXEC_SQL.Last_Error_Mesgの例

  関連項目	   すべての例

/*
** In the following procedure, we execute a statement that is passed in. If there
** are any exceptions shown, we check to see its nature using LAST_ERROR_CODE
** and LAST_ERROR_MESG.
*/

procedure eslastfunccode(sqlstr varchar2) is
  connection_id exec_sql.connType;
  cursor_number exec_sql.CursType;
  sql_str VARCHAR2(256);
  nIgnore pls_integer;
BEGIN
  connection_id := exec_sql.open_connection('connection_str');
  cursor_number := exec_sql.open_cursor(connection_id);
  exec_sql.parse(connection_id, cursor_number, sql_str, exec_sql.V7);
  nIgnore := exec_sql.execute(connection_id, cursor_number);
  exec_sql.close_cursor(connection_id, cursor_number);
  exec_sql.close_connection(connection_id);
--
-- check the error in the exception block
--
EXCEPTION
  WHEN exec_sql.package_error THEN
    text_io.put_line('error :'||
       to_char(exec_sql.last_error_code(connection_id))  || '  ' ||
       exec_sql.last_error_mesg(connection_id) );
  --
  -- ensure that even though an error has occurred, the cursor and connection
  -- are closed.
  --
  IF exec_sql.is_connected(connection_id) THEN
    IF exec_sql.is_open(connection_id, cursor_number) THEN
      exec_sql.close_cursor(connection_id, cursor_number);
    END IF;
    exec_sql.close_connection(connection_id);
  END IF;
END;


EXEC_SQL.Last_Error_Mesg

  例	   関連項目 	   すべてのビルトイン

説明  接続上で発生した最後のエラー・コードのテキスト・メッセージを返します。

構文

FUNCTION EXEC_SQL.Last_Error_Mesg
    [Connid     IN CONNTYPE]
RETURN VARCHAR2;

パラメータ

Connid	使用する接続のハンドルです。接続を指定しないと、EXEC_SQL.Default_Connectionによって、キャッシュのプライマリDeveloper接続ハンドルが取り出されます。

戻り値  文字列。

使用上の注意  このファンクションは、EXEC_SQL.Package_Error例外が発生した直後に使用してください。


ヒント

結果セットの列数を取得するには、EXEC_SQL.Invalid_Column_Number例外が発生するまで、列を1から通してループします。


プライマリ・データベース接続の変更

  関連項目

EXEC_SQL.Default_Connectionをコールした後にプライマリDeveloper接続を変更すると、次回のEXEC_SQL.Default_Connectionコールの際にも、キャッシュのハンドルが返されます。新しいプライマリ接続のハンドルは自動的に返されません。

確実に正しいハンドルを使用するために、プライマリ接続を変更する前に、常にEXEC_SQL.Close_Connection（引数なし）を使用してください。これにより、EXEC_SQLの以前の接続に割り当てられていたメモリー・リソースを解放することもできます。


LISTパッケージ

  関連項目 	  すべてのビルトイン

List.Appenditem

List.Destroy

List.Deleteitem

List.Fail

List.Getitem

List.Insertitem

List.Listofchar

List.Make

List.Nitems

List.Prependitem


List.Appenditem

  例	   関連項目 	   すべてのビルトイン

説明  リストに項目が追加されます。

構文

PROCEDURE List.Appenditem
   (List Listofchar,
    item VARCHAR2);

パラメータ

List	リスト。
item	リスト項目。


List.Appenditemの例

  関連項目	   すべての例

 /*
** Add an item to the end of 'my_List' then
** print out the number of items in the List
*/
PROCEDURE append (my_List List.Listofchars) IS
BEGIN
  List.Appenditem(my_List, 'This is the last item.');
  Text_IO.Put_Line(List.Getitem(my_List,
    List.Nitems(my_List)));
END;


List.Destroy

  例	   関連項目 	   すべてのビルトイン

説明  リスト全体が破棄されます。

構文

PROCEDURE List.Destroy
   (List Listofchar);

パラメータ

List	リスト。


List.Destroyの例

  関連項目	   すべての例

 /*
**  Destroy the List
*/
List.Destroy(my_package.my_List);


List.Deleteitem

  例	   関連項目 	   すべてのビルトイン

説明  リスト内の指定した位置にある項目が削除されます。

構文

PROCEDURE List.Deleteitem
   (List Listofchar),
    pos  PLS_INTEGER);

パラメータ

List	リスト。
pos	位置（ベースは0です）。


List.Deleteitemの例

  関連項目	   すべての例

 /*
** Delete the third item from 'my_List'
*/
List.Deleteitem(my_package.my_List, 2));


List.Fail

  例	   関連項目 	   すべてのビルトイン

説明  リスト操作が失敗すると呼び出されます。

構文

List.Fail   EXCEPTION;


List.Failの例

  関連項目	   すべての例

 /*
** Provide an exception handler for the
** List.Fail exception
*/
EXCEPTION
  WHEN List.Fail THEN
    Text_IO.Put_Line('list Operation Failed');


List.Getitem

  例	   関連項目 	   すべてのビルトイン

説明  リストから項目が取り出されます。

構文

FUNCTION List.Getitem
   (List Listofchar,
    pos  PLS_INTEGER)
RETURN VARCHAR2;

パラメータ

List	リスト。
pos	位置（ベースは0です）。
戻り値  指定したリストの項目。


List.Getitemの例

  関連項目	   すべての例

 /*
** Retrieve and print out the second item
** in my_List
*/
Text_IO.Put_Line(List.Getitem(my_List, 1));


List.Insertitem

  例	   関連項目 	   すべてのビルトイン

説明  リストの指定した位置に項目が挿入されます。

構文

PROCEDURE List.Insertitem
   (List Listofchar),
    pos  PLS_INTEGER,
    item VARCHAR2);

パラメータ

List	リスト。
pos	位置（ベースは0です）。
item	リスト項目。


List.Insertitemの例

  関連項目	   すべての例

/*
** Add a string to the List In third place
** then retrieve the third item and print it
*/
PROCEDURE insert_item(my_List List.Listofchar) IS
BEGIN
  List.Insertitem(my_List, 2, 'This is the third
    item.');
  Text_IO.Put_Line(List.Getitem(my_List, 2));
END;


List.Listofchar

  例	   関連項目 	   すべてのビルトイン

説明  リストに対するハンドルが指定されます。

構文

TYPE List.Listofchar;


List.Listofcharの例

  関連項目	   すべての例

 /*
** Declare a variable of the type
** Listofchar, then create the List
*/
PROCEDURE my_proc IS
  my_List List.Listofchar;
BEGIN
  my_List := List.Make;
END;


List.Make

  例	   関連項目 	   すべてのビルトイン

説明  新しい空のリストが作成されます。リストは使用する前に作成しておく必要があります。

構文

FUNCTION List.Make
RETURN Listofchar;

使用上の注意  このファンクションを使用して作成したリストは、List.Destroyプロシージャを使用して必ず破棄する必要があります。


List.Makeの例

  関連項目	   すべての例

 /*
** Create a List Of the type Listofchar
*/
PROCEDURE my_proc IS
  my_List List.Listofchar;
BEGIN
  my_List := List.Make;
END;


List.Nitems

  例	   関連項目 	   すべてのビルトイン

説明  リストの項目数が戻されます。

構文

FUNCTION List.Nitems
   (List Listofchar)
RETURN PLS_INTEGER;

パラメータ

List	リスト。


List.Nitemsの例

  関連項目	   すべての例

 /*
** For each item in my_List, retrieve the
** value of the item and print it out
*/
PROCEDURE print_List Is
BEGIN
  FOR i IN 0..List.Nitems(my_pkg.my_List)-1 LOOP
    Text_IO.Put_Line(List.Getitem(my_pkg.my_List, i));
  END LOOP;
END;


List.Prependitem

  例	   関連項目 	   すべてのビルトイン

説明  リストの先頭にリスト項目が追加されます。

構文

PROCEDURE List.Prependitem
   (List Listofchar),
    item VARCHAR2);

パラメータ

List	リスト。
item	リスト項目。


List.Prependitemの例

  関連項目	   すべての例

 /*
** Insert a string to the beginning of my_List
** then retrieve it and print it out
*/
PROCEDURE prepend(my_List List.Listofchars) IS
BEGIN
  List.Prependitem(my_List, 'This is the first item.');
  Text_IO.Put_Line(List.Getitem(my_List, 0));
END;


ORA_NLSパッケージ

  関連項目 	  すべてのビルトイン

Ora_Nls.American

Ora_Nls.American_Date

Ora_Nls.Bad_Attribute

Ora_Nls.Get_Lang_Scalar

Ora_Nls.Get_Lang_Str

Ora_Nls.Linguistic_Collate

Ora_Nls.Linguistic_Specials

Ora_Nls.Modified_Date_Fmt

Ora_Nls.No_Item

Ora_Nls.Not_Found

Ora_Nls.Right to Left

Ora_Nls.Simple_Cs

Ora_Nls.Single_Byte


Ora_Nls.American

  例	   関連項目 	   すべてのビルトイン

説明  現行のキャラクタ・セットが"U.S."ならばTRUE、そうでなければFALSEが戻されます。

構文

FUNCTION Ora_Nls.American
RETURN BOOLEAN;

戻り値  TRUEまたはFALSE。


Ora_Nls.Americanの例

  関連項目	   すべての例

 /*
** Determine if you're dealing with an American
** set or not
*/
PROCEDURE is_american (out Text_IO.File_Type) IS
  us  BOOLEAN;
BEGIN
  us := Ora_Nls.American;
  IF us = TRUE
    Text_IO.Put (out, 'Character set it American');
  ELSE
    change_char_set;
  ENDIF
END;


Ora_Nls.American_Date

  例	   関連項目 	   すべてのビルトイン

説明  現行の日付書式が"U.S."ならばTRUEが、そうでなければFALSEが戻されます。

構文

FUNCTION Ora_Nls.American_Date
RETURN BOOLEAN;

戻り値  TRUEまたはFALSE。


Ora_Nls.American_Dateの例

  関連項目	   すべての例

 /*
** Determine if date format is American
*/
PROCEDURE is_amerdate (out Text_IO.File_Type) IS
  usd  BOOLEAN;
BEGIN
  usd := Ora_Nls.American_Date;
  IF usd = TRUE
    Text_IO.Put (out, 'Date format is American');
  ELSE
    change_date_to_us;
  ENDIF
END;


Ora_Nls.Bad_Attribute

  例	   関連項目 	   すべてのビルトイン

説明  Ora_Nls.Get_Lang_ScalarまたはOra_Nls.Get_Lang_Strに属性を指定しないと呼び出されます。

構文

Ora_Nls.Bad_Attribute  EXCEPTION;


Ora_Nls.Bad_Attributeの例

  関連項目	   すべての例

 /*
** Handle the Bad Attribute exception
*/
EXCEPTION
  WHEN Ora_Nls.Bad_Attribute THEN
    Text_IO.Put_Line('Check calls to Get_Lang_Scalar
      and Get_Lang_Str.A bad attribute name was found.');


Ora_Nls.Get_Lang_Scalar

  例	   関連項目 	   すべてのビルトイン

説明  現行言語について要求した情報が戻されます。GET_LANG_SCALARを使用して、数値データを取り出すことができます。

構文

FUNCTION Ora_Nls.Get_Lang_Scalar
   (attribute PLS_INTEGER)
RETURN NUMBER;

パラメータ

attribute	ORA_NLS定数またはそれに関連付けられた整数値。定数リストは、「ORA_NLS 定数」を参照してください。
戻り値  数値。


Ora_Nls.Get_Lang_Scalarの例

  関連項目	   すべての例

 /*
** Retrieve and print out the language number
*/
BEGIN lang_num (out Text_IO.File_Type)
  lang_num  NUMBER;
BEGIN
  lang_num := Ora_Nls.Get_Lang_Scalar
    (Ora_Nls.Iso_Alphabet);
  Text_IO.Putf (out, "Current Language numer is %s\n",
    lang_num);
END;


Ora_Nls.Get_Lang_Str

  例	   関連項目 	   すべてのビルトイン

説明  現行言語について要求した情報が戻されます。GET_LANG_STRを使用して、文字情報を取り出すことができます。

構文

FUNCTION Ora_Nls.Get_Lang_Str
   (attribute PLS_INTEGER)
RETURN VARCHAR2;

パラメータ

attribute	ORA_NLS定数またはそれに関連付けられた整数値。定数リストは、「ORA_NLS定数」を参照してください。
戻り値  文字値。


Ora_Nls.Get_Lang_Strの例

  関連項目	   すべての例

 /*
** Retrieve and print out the language name
*/
BEGIN lang_name (out Text_IO.File_Type)
  lang_name  VARCHAR2(80);
BEGIN
  lang_name := Ora_Nls.Get_Lang_Str
    (Ora_Nls.Language);
  Text_IO.Putf (out, "Current Language is %s\n",
    lang_name);
END;


Ora_Nls.Linguistic_Collate

  例	   関連項目 	   すべてのビルトイン

説明  特別な言語情報に従って現行キャラクタ・セットの文字を照合する必要があればTRUEが、そうでなければFALSEが戻されます。

構文

FUNCTION Ora_Nls.Linguistic_Collate
RETURN BOOLEAN;

戻り値  TRUEまたはFALSE。

使用上の注意  TRUEが戻されても、2文字のバイナリ・ソートによって正しい値が戻されるとは限りません。それは、現在使用しているキャラクタ・セットのコード構造が、必ずしもすべての文字を数値の昇順に定義しないからです。

なお、言語によって、文字のソート位置が異なる場合があります。たとえば、ドイツ語では"?"は"b"より前にソートされますが、スウェーデン語では"z"の後ろにソートされます。


Ora_Nls.Linguistic_Collateの例

  関連項目	   すべての例

 /*
** Determine whether or not special collating is
** needed.
*/
collate := Ora_Nls.Linguistic_Collate;
  IF collate = TRUE THEN
    lang_name (langinfo.txt);
    Text_IO.Put ('This needs special collating.');
  ENDIF;


Ora_Nls.Linguistic_Specials

  例	   関連項目 	   すべてのビルトイン

説明  言語上の特例を使用している場合はTRUEが、そうでなければFALSEが戻されます。

構文

FUNCTION Ora_Nls.Linguistic_Specials
RETURN BOOLEAN;

戻り値  TRUEまたはFALSE。

使用上の注意  言語上の特例とは、大/小文字の照合および変換用の言語固有の特殊なケースです。たとえば、ドイツ語のシャープ"s"（1バイト）の大文字は"SS" （2バイト）です。ソートも2バイト値に従って行われます。

言語上の特例は、通常の照合とともに言語定義の中で定義されます。特定の言語ハンドルに対して有効な言語定義に、言語上の特例の定義が含まれていると、言語上の特例を扱うファンクションの出力サイズは、入力文字列のサイズより大きくなることがあります。


Ora_Nls.Linguistic_Specialsの例

  関連項目	   すべての例

 /*
** Determine whether or not specials are in use
** and how to deal with them if so
*/
specials := Ora_Nls.Linguistic_Specials;
  IF specials = TRUE THEN
    lang_name (langinfo.txt);
    Text_IO.Put ('Specials are in use.');
  ENDIF;


Ora_Nls.Modified_Date_Fmt

  例	   関連項目 	   すべてのビルトイン

説明  日付書式が変更されている場合はTRUEが、そうでなければFALSEが戻されます。

構文

FUNCTION Ora_Nls.Modified_Date_Fmt
RETURN BOOLEAN;

戻り値  TRUEまたはFALSE。


Ora_Nls.Modified_Date_Fmtの例

  関連項目	   すべての例

 /*
** Determine whether or not the date format has been
** modified
*/
modify := Ora_Nls.Modified_Date_Fmt;
IF modify = TRUE
  Text_IO.Putf (langinfo.txt, 'The date format
    has been modified.');
ENDIF;


Ora_Nls.No_Item

  例	   関連項目 	   すべてのビルトイン

説明  ユーザーが指定した属性を属性定数リストで見つけられないと呼び出されます。

構文

Ora_Nls.No_Item  EXCEPTION;


Ora_Nls.No_Itemの例

  関連項目	   すべての例

 /*
** Hand the exception for an unidentified attribute constant
*/
EXCEPTION
  WHEN Ora.Nls.No_Item THEN
    Text_IO.Put ('An attribute supplied is not valid.');


Ora_Nls.Not_Found

  例	   関連項目 	   すべてのビルトイン

説明  要求した項目を見つけられないと呼び出されます。この状況は、主に、Ora_Nls.Get_Lang_Scalarを使った文字情報の取出しや、Ora_Nls.Get_Lang_Strを使った数値情報の取出しの際に発生します。

構文

Ora_Nls.Not_Found  EXCEPTION;


Ora_Nls.Not_Foundの例

  関連項目	   すべての例

/*
** Hand the exception for an item that was not found
*/
EXCEPTION
  WHEN Ora.Nls.Not_Found THEN
    Text_IO.Put ('The item was not found, check calls to Get_Lang.');


Ora_Nls.Right_to_Left

  例	   関連項目 	   すべてのビルトイン

説明  現行言語の書き込み方向が"右から左"の場合はTRUEが、そうでなければFALSEが戻されます。

構文

FUNCTION Ora_Nls.Right_To_Left
RETURN BOOLEAN;

戻り値  TRUEまたはFALSE。


Ora_Nls.Right_To_Leftの例

  関連項目	   すべての例

 /*
** Verify that the language is a right-to-left language
*/
rtl := Ora_Nls.Right_To_Left;
IF rtl = FALSE
  Text_IO.Put (langinfo.txt, 'This is not a right to left
    language.');
ENDIF;


Ora_Nls.Simple_Cs

  例	   関連項目 	   すべてのビルトイン

説明  現行キャラクタ・セットが単純（つまり、1バイト、特殊文字なし、特殊な処理なし）ならばTRUEが、そうでなければFALSEが戻されます。

構文

FUNCTION Ora_Nls.Simple_Cs
RETURN BOOLEAN;

戻り値  TRUEまたはFALSE。


Ora_Nls.Simple_Csの例

  関連項目	   すべての例

 /*
**  Determine if the language is simple or not
*/
simplecs := Ora_Nls.Simple_Cs;
IF simplecs = TRUE
  lang_name (langinfo.txt);
  Text_IO.Put ('This language uses a simple
    character set.');
ELSE
  lang_name (langinfo.txt);
  Text_IO.Put ('This language uses a complex
    character set.');
ENDIF;


Ora_Nls.Single_Byte

  例	   関連項目 	   すべてのビルトイン

説明  現行キャラクタ・セットのすべての文字を1バイトで表せる場合はTRUEが、そうでなければFALSEが戻されます。

構文

FUNCTION Ora_Nls.Single_Byte
RETURN BOOLEAN;

戻り値  TRUEまたはFALSE。


Ora_Nls.Single_Byteの例

  関連項目	   すべての例

 /*
** Determine if the character set is single or multi-byte
*/
bytes := Ora_Nls.Single_Byte;
IF bytes = FALSE
  lang_name (langinfo.txt);
  Text_IO.Put ('This is a multi-byte character set.');
END IF;


ORA_FFIパッケージ

  関連項目 	  すべてのビルトイン

Ora_Ffi.Ffi_Error

Ora_Ffi.Find_Function

Ora_Ffi.Find_Library

Ora_Ffi.Funchandletype

Ora_Ffi.Generate_Foreign

Ora_Ffi.Is_Null_Ptr

Ora_Ffi.Libhandletype

Ora_Ffi.Load_Library

Ora_Ffi.Pointertype

Ora_Ffi.Register_Function

Ora_Ffi.Register_Parameter

Ora_Ffi.Register_Return

Ora_Ffi.Unload_Library

Ora_Ffiの例1A

Ora_Ffiの例1B

Ora_Ffiの例2


Ora_Ffi.Ffi_Error

  例	   関連項目 	   すべてのビルトイン

説明  Ora_Ffiパッケージを使用しているときにエラーが発生するとコールされます。

構文

EXCEPTION  Ora_Ffi_Error;


Ora_Ffi.Ffi_Errorの例

  関連項目	   すべての例

/* This example uses Ora_Ffi_Error */

PRODEDURE register_libs IS
   testlib_lhandle ora_ffi.libhandletype;
BEGIN
   /* Attempt to load a dll library
      from a non-existant directory*/
   testlib_lhandle := ora_ffi.load_library
             ('C:\baddir\', 'libtest.dll');
EXCEPTION
   WHEN Ora_Ffi.Ffi_Error THEN
      /* print error message */
      text_io.put_line(tool_err.message);
      /* discard the error */
      tool_err.pop;
END;


Ora_Ffi.Find_Function

  例	   関連項目 	   すべてのビルトイン

説明  指定したファンクションに対するファンクション・ハンドルを探して、そのハンドルを戻します。ファンクション名またはライブラリ名のどちらかを指定することにより、ファンクション・ハンドルを検索できます。このファンクションは、Ora_Ffi.Register_Functionで登録済みのものでなければなりません。

構文

FUNCTION Ora_Ffi.Find_Function
   (libHandle  libHandleType,
    funcname   VARCHAR2)
RETURN funcHandleType;

FUNCTION Ora_Ffi.Find_Function
   (libname   VARCHAR2,
    funcname  VARCHAR2)
RETURN funcHandleType;

パラメータ

libHandle	Ora_Ffi.Load_Libraryまたは、Ora_Ffi.Find_Libraryによって戻されるライブラリ・ハンドル。
funcname	見つけるファンクションの名前。
libname	ファンクションが入っているライブラリの名前。
戻り値  指定したファンクションに対するハンドル。


Ora_Ffi.Find_Functionの例

  関連項目	   すべての例

/* Find foreign function handle for
   a given foreign library handle and
   foreign function name */

BEGIN
   ...
   funchandle := ora_ffi.find_function
            (libhandle, 'my_func');
   ...
END;

/* Find foreign function handle for
   a given foreign function and
   foreign library names */
BEGIN
   ...
   funchandle := ora_ffi.find_function
            (libhandle, 'my_func');
   ...
END;


Ora_Ffi.Find_Library

  例	   関連項目 	   すべてのビルトイン

説明  指定した外部ライブラリ名に対するハンドルを探して、そのハンドルを戻します。このライブラリは、Ora_Ffi.Load_Libraryで登録済みのものである必要があります。

構文

FUNCTION Ora_Ffi.Find_Library (libname VARCHAR2)
RETURN libHandleType;

パラメータ

libname	ライブラリ名。
戻り値  指定した外部ライブラリに対するハンドル。


Ora_Ffi.Find_Libraryの例

  関連項目	   すべての例

/* Find foreign library handle for
   a given library name */

BEGIN
   ...
   libhandle := ora_ffi.find_library
            ('mylib.dll');
   ...
END;


Ora_Ffi.Funchandletype

  例 	   関連項目 	   すべてのビルトイン

説明  外部ファンクションに対するハンドルが指定されます。Ora_Ffi.Find_Functionを使用して、指定されたハンドルを取得できます。

構文

TYPE Ora_Ffi.Funchandletype;


Ora_Ffi.Funchandletypeの例

  関連項目	   すべての例

/* This example uses Ora_Ffi_Funchandletype */

PROCEDURE define_c_funcs IS
   getresult_fhandle  ora_ffi.funcHandleType;
   foo_fhandle        ora_ffi.funcHandleType;
BEGIN
   /* Register the info for function getresult */
   getresult_fhandle := ora_ffi.register_function
             (testlib_lhandle, 'getresult');
   ...
   /* Register the info for function foo */
   foo_fhandle := ora_ffi.register_function
             (testlib_lhandle,'foo');
   ...
END;


Ora_Ffi.Generate_Foreign

  例	   関連項目 	   すべてのビルトイン

説明  指定したライブラリで定義されているすべてのファンクションのPL/SQLコード・パッケージが生成されます。まず、ライブラリをロードし、起動するファンクションをすべて登録し、それらのパラメータおよび戻り値を登録する必要があります。

構文

PROCEDURE Ora_Ffi.Generate_Foreign
   (handle libHandleType);

PROCEDURE Ora_Ffi.Generate_Foreign
   (handle  libHandleType,
    pkgname VARCHAR2);

パラメータ

ハンドル	Ora_Ffi.Load_Libraryまたは、Ora_Ffi.Find_Libraryによって戻されるライブラリ・ハンドル。
pkgname	生成されるパッケージの名前。   パッケージ名を指定しない場合、ライブラリ名の先頭にFFI_を付けた名前が使用されます。たとえば、ライブラリ名がLIBTESTの場合、パッケージ名はFFI_LIBTESTになります。
使用上の注意

•	Ora.Ffi.Generate.Foreignファンクションによって生成されるパッケージは、現在の名前空間の中に作成され、Procedure Builderのオブジェクト・ナビゲータでは「プログラム・ユニット」ノードの下に表示されます。パッケージが生成されたら、PL/SQLライブラリの「プログラム・ユニット」ノードまたはデータベースの「ストアド・プログラム・ユニット」ノードにそれをコピーし、「ファイル」 [image] 「エクスポート」を使用して、定義したその他の新しいパッケージまたはプロシージャと同じように、テキスト・ファイルにエクスポートできます。

•	Ora_Ffi.Generate_Foreignファンクションによって生成されるPL/SQLパッケージは、登録されているファンクションのそれぞれに対して、必要なPRAGMAコンパイラ・ディレクティブを自動的にインクルードします。

PRAGMA interface (C, func_name, 11265);

func_nameは、すでにロードされているDLLライブラリからの、登録済み外部ファンクションの名前です。生成されるPL/SQLパッケージの名前を指定できますが、そのパッケージの内部では、各エントリ・ポイントはそれらがマッピングする外部ファンクションの名前に一致します。


Ora_Ffi.Generate_Foreignの例

  関連項目	   すべての例

/* Define components of package test */

PACKAGE test IS
...
END;

/*Define package body procedures */
PACKAGE BODY test IS
   PRODEDURE register_libs IS
   BEGIN
      /* Load the test library */
      testlib_lhandle := Ora_Ffi_.load_library
        ('c:\orawin95\oralibs\','testlib.dll')
   END;

   PROCEDURE define_c_funcs IS
      getresult_fhandle Ora_Ffi.Funchandletype;
      foo_handle        Ora_Ffi.Funchandletype;
   BEGIN
      /* Register the info for function getresult */
      getresult_fhandle := ora_ffi.register_function
            (testlib_lhandle,'getresult');
      ...
      /* Register the info for function foo */
      foo_fhandle := ora_ffi.register_function
            (testlib_lhandle,'foo');
      ...
      /* Generate PL/SQL package containing all
         functions defined in test library */
      ora_ffi.generate_foreign
            (testlib_lhandle, 'test_ffi_pkg');
      ...
   END;
END;


Ora_Ffi.Is_Null_Ptr

  例	   関連項目 	   すべてのビルトイン

説明  ライブラリ、ファンクションまたはポインタに対するハンドルがNULLかどうか判断されます。

構文

FUNCTION Ora_Ffi.Is_Null_Ptr (handle libHandleType)
RETURN BOOLEAN;

FUNCTION Ora_Ffi.Is_Null_Ptr (handle  funcHandleType)
RETURN BOOLEAN;

FUNCTION Ora_Ffi.Is_Null_Ptr (handle  pointerType)
RETURN BOOLEAN;

パラメータ

handle	評価するライブラリ、ファクションまたはポインタ。
戻り値

TRUE	ハンドルがNULLの場合。
FALSE	ハンドルがNULLでない場合。


Ora_Ffi.Is_Null_Ptrの例

  関連項目	   すべての例

/* This example uses Ora_Ffi.Is_Null_Ptr */

PROCEDURE register_libs IS
...
BEGIN
   /* Load foreign function library */
   libhandle := Ora_Ffi.load_library
      ('C:\oralibs\', 'libfoo.dll');
   /* Test whether library is null */
   IF (ora_ffi.is_null_ptr(libhandle)) THEN
   ...
END;


Ora_Ffi.Libhandletype

  例 	   関連項目 	   すべてのビルトイン

説明  外部ファンクションに対するハンドルが指定されます。指定されたハンドルを取得するには、Ora_Ffi.Find_Functionを使います。

構文

TYPE Ora_Ffi.Libhandletype;


Ora_Ffi.Libhandletypeの例

  関連項目	   すべての例

/* This example uses Ora_Ffi.Libhandletype */

PACKAGE test is
   /* Specify that testlib_lhandle
      is a library handle varible type */
   testlib_lhandle  ora_ffi.libHandleType;
   ...
END;

PACKAGE BODY test IS
   PROCEDURE register_libs IS
   BEGIN
      testlib_lhandle := Ora_Ffi.Load_library
          ('C:\libdir\','test.dll');
      ...
   END;
   ...
END;


Ora_Ffi.Load_Library

  例 	   関連項目 	   すべてのビルトイン

説明  ファンクションを登録するために指定した動的ライブラリがロードされます。

構文

FUNCTION Ora_Ffi.Load_Library
   (dirname VARCHAR2,
    libname VARCHAR2)
RETURN libHandleType;

パラメータ

dirname	ライブラリが存在するディレクトリ。
libname	ライブラリのファイル名。
戻り値  外部ライブラリに対するハンドル。ライブラリが見つからないか、またはロードできない場合は、NULLのハンドルを戻します。


Ora_Ffi.Load_Libraryの例

  関連項目	   すべての例

/* This example uses Ora_Ffi.Load_Library */

PACKAGE test is
   /* Declare testlib_lhandle as an Ora_Ffi
      library handle varible type.
   testlib_lhandle  ora_ffi.libHandleType;
   ...
END;

PACKAGE BODY test IS
   PROCEDURE register_libs IS
   BEGIN
      /* Load the dynamic link library 'test.dll'
         from the directory C:\libdir\ and return
         the handle testlib_lhandle.*/
      testlib_lhandle := Ora_Ffi.Load_library
            ('C:\libdir\','test.dll');
   ...
   END;
   ...
 END;


Ora_Ffi.Pointertype

  例 	   関連項目 	   すべてのビルトイン

説明  汎用Cポインタ（つまり、型が指定されないポインタ）の値とみなすことができます。

構文

TYPE Ora_Ffi.Pointertype;


Ora_Ffi.Pointertypeの例

  関連項目	   すべての例

/* This example uses Ora_Ffi.Pointertype */

PACKAGE imglib IS
   /* Declare Function get_image which
      returns a generic C pointer.*/
   FUNCTION get_image(ikey IN OUT VARCHAR2)
     RETURN Ora_Ffi.Pointertype ;
   /* Declare Procedure show_image with parameter
      idata which is a generic C pointer.*/
   PROCEDURE show_image(idata Ora_Ffi.Pointertype,
                        iscale NUMBER);
END;
...

PROCEDURE display_image(keywrd IN OUT VARCHAR2) IS
   /* Declare img_ptr as a generic C pointer type */
   img_ptr Ora_Ffi.Pointertype;
BEGIN
   img_ptr := imglib.get_image(keywrd);
   imglib.show_image(img_ptr,2);
END;


Ora_Ffi.Register_Function

  例 	   関連項目 	   すべてのビルトイン

説明  指定した外部ファンクションが登録されます。

構文

FUNCTION Ora_Ffi.Register_Function
  (libHandle  libHandleType,
   funcname   VARCHAR2,
   callstd    NUMBER   := C_STD)
RETURN funcHandleType;

パラメータ

libHandle	Ora_Ffi.Load_Libraryまたは、Ora_Ffi.Find_Libraryによって戻されるライブラリ・ハンドル。
funcname	登録されるファンクションの名前。
callstd	外部ファンクションによって使用されるコール。（詳細は、使用するコンパイラのマニュアルを参照してください。この引数の値には、次のパッケージ化定数のどちらかを指定できます。
C_STD   外部ファンクションがCコール標準を使用することを意味します。

PASCAL_STD   外部ファンクションがPascalコール標準を使用することを意味します。

戻り値  外部ファンクションに対するハンドル。


Ora_Ffi.Register_Functionの例

  関連項目	   すべての例

/* Define Procedure define_c_funcs which calls two
   Ora_Ffi functions, getresult and foo.*/

PROCEDURE define_c_funcs is
   getresult_fhandle  ora_ffi.funcHandleType;
   foo_fhandle        ora_ffi.funcHandleType;
BEGIN
   /* Register the info for function getresult */
   getresult_fhandle := ora_ffi.register_function
            (testlib_lhandle,'getresult');
   ...

   /* Register the info for function foo */
   foo_fhandle := ora_ffi.register_function
            (testlib_lhandle,'foo');
   ...
   /* Generate PL/SQL package containing all
      functions defined in test library */
   ora_ffi.generate_foreign
            (testlib_lhandle, 'test_ffi_pkg');
   ...
END;


Ora_Ffi.Register_Parameter

  例 	   関連項目 	   すべてのビルトイン

説明  指定した外部ファンクションの現行引数の型が登録されます。

構文

PROCEDURE Ora_Ffi.Register_Parameter
   (funcHandle funcHandleType,
    cargtype   PLS_INTEGER);

PROCEDURE Ora_Ffi.Register_Parameter
   (funcHandle funcHandleType,
    cargtype   PLS_INTEGER,
    plsargtype PLS_INTEGER);

パラメータ

funcHandle	Ora_Ffi.Register_FunctionまたはOra_Ffi.Find_Functionによって戻されるファンクション・ハンドル。
cargtype	コールされるC外部ファンクションに対する、現行の引数のCデータ型。この引数の値には、次のパッケージ化定数のどちらかを指定できます。 C_CHAR   CHARを意味します。  C_CHAR_PTR   CHAR *を意味します。  C_DOUBLE   DOUBLEを意味します。  C_DOUBLE_PTR   DOUBLE *を意味します。  C_FLOAT   FLOATを意味します。  C_FLOAT_PTR   FLOAT *を意味します。  C_INT   INTを意味します。  C_INT_PTR   INT *を意味します。  C_LONG   LONGを意味します。  C_LONG_PTR   LONG *を意味します。  C_SHORT   SHORTを意味します。  C_SHORT_PTR   SHORT *を意味します。  C_VOID_PTR   VOID *を意味します。
plsargtype	対応するPL/SQLの引数型（オプション）。


Ora_Ffi.Register_Parameterの例

  関連項目	   すべての例

/* Define Procedure define_c_funcs which calls two
   Ora_Ffi functions, getresult and foo.*/

PROCEDURE define_c_funcs is
   getresult_fhandle   ora_ffi.funcHandleType;
   foo_fhandle         ora_ffi.funcHandleType;

BEGIN
   /* Register the info for function getresult */
   getresult_fhandle := ora_ffi.register_function
            (testlib_lhandle,'getresult');
  ...
   /* Register the info for function foo */
   foo_fhandle := ora_ffi.register_function
            (testlib_lhandle,'foo');
   /* Register the return type for function foo */
   ora_ffi.register_return
            (foo_fhandle, ora_ffi.C_SHORT);
   /* Register the parameter info for function foo */
   ora_ffi.register_parameter
            (foo_fhandle, ora_ffi.C_FLOAT);
   ora_ffi.register_parameter
            (foo_fhandle, ora_ffi.C_INT);
   ora_ffi.register_parameter
            (foo_fhandle, ora_ffi.C_CHAR_PTR);

   /* Generate PL/SQL package containing all functions
         defined in test library */
   ora_ffi.generate_foreign
            (testlib_lhandle, 'test_ffi_pkg');
   ...
END;


Ora_Ffi.Register_Return

  例 	   関連項目 	   すべてのビルトイン

説明  指定した外部ファンクションの戻り値の型が登録されます。

構文

PROCEDURE Ora_Ffi.Register_Return
   (funcHandle  funcHandleType,
    creturntype PLS_INTEGER);

PROCEDURE Ora_Ffi.Register_Return
   (funcHandle  funcHandleType,
    creturntype PLS_INTEGER,
    plsreturntype PLS_INTEGER);

パラメータ

funcHandle	Ora_Ffi.Register_FunctionまたはOra_Ffi.Find_Functionによって戻されるファンクション・ハンドル。
creturntype	外部ファンクションによって戻されるCデータ型。この引数の値には、次のパッケージ化定数のどちらかを指定できます。 C_CHAR   CHARを意味します。  C_CHAR_PTR   CHAR *を意味します。  C_DOUBLE   DOUBLEを意味します。  C_DOUBLE_PTR   DOUBLE *を意味します。  C_FLOAT   FLOATを意味します。  C_FLOAT_PTR   FLOAT *を意味します。  C_INT   INTを意味します。  C_INT_PTR   INT *を意味します。  C_LONG   LONGを意味します。  C_LONG_PTR   LONG *を意味します。  C_SHORT   SHORTを意味します。  C_SHORT_PTR   SHORT *を意味します。  C_VOID_PTR   VOID *を意味します。
plsreturntype	対応するPL/SQLの戻り型（オプション）。


Ora_Ffi.Register_Returnの例

  関連項目	   すべての例

/* Define Procedure define_c_funcs which calls two
   Ora_Ffi functions, getresult and foo.*/

PROCEDURE define_c_funcs is
   getresult_fhandle   ora_ffi.funcHandleType;
   foo_fhandle         ora_ffi.funcHandleType;

BEGIN
   /* Register the info for function getresult */
   getresult_fhandle := ora_ffi.register_function
            (testlib_lhandle,'getresult');
   /* Register the return type for function getresult */
   ora_ffi.register_return
            (getresult_fhandle, ora_ffi.C_CHAR_PTR);

   /* Register the info for function foo */
   foo_fhandle := ora_ffi.register_function
            (testlib_lhandle,'foo');
   /* Register the return type for function foo */
   ora_ffi.register_return
            (foo_fhandle, ora_ffi.C_SHORT);
   ...
   /* Generate PL/SQL package containing all
      functions defined in test library */
   ora_ffi.generate_foreign
             (testlib_lhandle, 'test_ffi_pkg');
   ...
END;


Ora_Ffi.Unload_Libarary

  例 	   関連項目 	   すべてのビルトイン

説明  指定した動的ライブラリがアンロードされます。ライブラリのファンクションは、そのライブラリを再ロードするまで、アクセスできなくなります。

構文

PROCEDURE Ora_Ffi.Unload_Library
   (libHandle  libHandleType);

パラメータ

libHandle	アンロードされるライブラリに対するハンドル。


Ora_Ffi.Unload_Libraryの例

  関連項目	   すべての例

/* First load a dll library */

PROCEDURE register_libs IS
   test_lib  Ora_Ffi.Libhandletype;
BEGIN
   /* Load the testlib.dll library
       from directory C:\libs\ */
   testlib_lhandle := ora_ffi.load_library
            ('C:\libs\', 'testlib.dll');
END;

/* Generate PL/SQL Package containing
   funtions from the test library.*/

PROCEDURE define_c_funcs IS
   ...
   Ora_Ffi.Genereate_Foreign (testlib_lhandle,
           'test_Ffi_Pkg')';
   ...
END;

/* Unload the library */

PROCEDURE unload_libs IS
BEGIN
   /* Unload the dll library assigned to the
      library handle 'test_lib.'*/
   Ora_Ffi.Unload_library(testlib_lhandle);
   ...
END;


Ora_Ffiの例1A

  関連項目 	   すべての例

Microsoft Windowsのランタイム・ライブラリC:\windows\system\msvcrt.dllにあるC関数powのためのインタフェースを作成する場合を考えます（powファンクションは、xをy乗します）。

int pow(int x, int y)

まず、ライブラリを表すパッケージ仕様を作成し、起動するPL/SQL関数を定義します。

PACKAGE mathlib IS
   FUNCTION pow(x NUMBER, y NUMBER)
     RETURN NUMBER;
END;

上で定義したPL/SQL関数mathlib.powをコールし、動的ライブラリmsvcrt.dllから外部ファンクションpowをコールします。

このサブプログラムは、ライブラリまたは外部ファンクションへのハンドルを必要としないことに注意してください。便宜を図るために、さまざまな登録は下記で定義するパッケージ本体で処理されます。

注意:	この例はPRAGMAコンパイラ・ディレクティブを使用して、ファンクションff_to_powerがPL/SQL関数ではなく、実際にはC関数としてコンパイルされることをPL/SQLコンパイラに伝えます。Ora_Ffiの例1Bでは、Ora_Ffi.Generate_Foreignファンクションを使用してPL/SQLのmathlibパッケージを生成し、同じ結果を得る方法を示します。例1Bでは、PRAGMAディレクティブは、Ora_Ffi.Generate_Foreignファンクションによって自動的に処理されます。

PACKAGE BODY mathlib IS
  /* Declare the library and function handles.*/
  mathlib_lhandle   Ora_Ffi.Libhandletype ;
  to_power_fhandle  Ora_Ffi.Funchandletype ;

  /* Create the PL/SQL function that will actually */
  /* invoke the foreign function.                  */
  FUNCTION ff_to_power(fhandle Ora_Ffi.Funchandletype,
         x NUMBER, y NUMBER)RETURN NUMBER;
  PRAGMA interface(C, ff_to_power, 11265);

  /* Create the PL/SQL function that is defined in */
  /* the package spec.This function simply       */
  /* passes along the arguments it receives to     */
  /* ff_to_power (defined above), prepending the   */
  /* foreign function handle to the argument List.*/
  FUNCTION pow(x NUMBER, y NUMBER) RETURN NUMBER IS
  BEGIN
    RETURN(ff_to_power(to_power_fhandle, x, y));
  END pow;

/* Define the body of package mathlib */
BEGIN

  /* Load the library.*/
      mathlib_lhandle := Ora_Ffi.Load_Library
         ('C:\WINDOWS\SYSTEM\', 'msvcrt.dll');

      /* Register the foreign function.*/
  to_power_fhandle := Ora_Ffi.Register_Function
         (mathlib_lhandle, 'pow', Ora_Ffi.C_Std);

  /* Register both parameters of function to_power.*/
  Ora_Ffi.Register_Parameter (to_power_fhandle,
                             Ora_Ffi.C_DOUBLE);
  Ora_Ffi.Register_Parameter(to_power_fhandle,
                             Ora_Ffi.C_DOUBLE);

  /* Register the return type.*/
  Ora_Ffi.Register_Return (to_power_fhandle, Ora_Ffi.C_DOUBLE);

END;  /* Package Body Mathlib */

mscvrt.dllからのC関数powを起動するには、次の例のように、mathlibパッケージ仕様部に定義されたPL/SQL関数powをコールします。次に例を示します。

PL/SQL>

PROCEDURE raise_to_power (a in number, b in number) IS
   BEGIN
      text_io.put_line(mathlib.pow(a,b));
   END;

PL/SQL> raise_to_power(2,9);

512


Ora_Ffiの例1B

  関連項目	   すべての例

次に示すのは、Ora_Ffiの例1Aで示したC関数powを実装する別の方法です。この例では、Ora_Ffi.Generate_Foreignファンクションを使用してPL/SQLパッケージを生成します。外部C関数のコンパイルに必要なPRAGMAコンパイラ・ディレクティブは、生成されるパッケージに自動的にインクルードされるため、下記のパッケージ本体の中では使用されていません。

/* Create package mathlib that will generate a PL/SQL
package using a foreign file C function to raise a
number to a power.The parameter, pkg_name, lets you
specify the name of the generated package.*/
PACKAGE mathgen IS
   PROCEDURE gen(pkg_name IN VARCHAR2);
END;

PACKAGE BODY mathgen IS
   /* Define the 'gen' procedure that will generate the
      foreign file package.*/
   PROCEDURE gen(pkg_name IN VARCHAR2) IS
      /* Declare the library and function handles.*/
      mathlib_lhandle   Ora_Ffi.Libhandletype ;
      to_power_fhandle  Ora_Ffi.Funchandletype ;

   BEGIN   /* package body mathlib */
      /* Load the library.*/
      mathlib_lhandle := Ora_Ffi.Load_Library
         ('C:\WINDOWS\SYSTEM\', 'msvcrt.dll');

      /* Register the foreign function.*/
      to_power_fhandle := Ora_Ffi.Register_Function
         (mathlib_lhandle, 'pow', Ora_Ffi.C_Std);

      /* Register both parameters of the foreign function.*/
      Ora_Ffi.Register_Parameter (to_power_fhandle,
                             Ora_Ffi.C_DOUBLE);
      Ora_Ffi.Register_Parameter(to_power_fhandle,
                             Ora_Ffi.C_DOUBLE);

      /* Register the return type of the foreign function.*/
      Ora_Ffi.Register_Return (to_power_fhandle, Ora_Ffi.C_DOUBLE);

      /* Generate a PL/SQL package containing the foreign C function,
         'pow.'You can name the new package by specifying a value
          for the parameter, pkg_name, when you generate the package.*/
      Ora_Ffi.generate_foreign(mathlib_lhandle, pkg_name);

   END; /* Procedure gen */
END; /* Package Body mathgen */

このメソッドを使用して、数値を累乗するには、最初にパッケージmathgenとプロシージャgen.を使用してPL/SQLパッケージを生成します。たとえば、生成されたPL/SQL累乗パッケージをmathlibと呼ぶ場合、次のようにそのパッケージを生成します。

PL/SQL> mathgen.gen('mathlib');

次に、パッケージmathlibから累乗ファンクションを起動するには、次のようなプロシージャを記述します。

PROCEDURE raise_to_power (a in number, b in number) IS
   BEGIN
      text_io.put_line(mathlib.pow(a,b));
   END;

PL/SQL> raise_to_power(5,2);

25


Ora_Ffiの例2

  関連項目	   すべての例

ライブラリC:\oralibs\imglib.dllにある、次のC関数へのインタフェースを作成することを想定します。

void *get_image(char *imgkey)
void show_image(void *binimage, float iscale)

get_imageファンクションはキーワード引数を使用して画像データをロードし、次にそのバイナリ・データを指す汎用ポインタ（型指定のないポインタ）を戻します。次に、画像を画面に表示するshow_imageにそのポインタと拡大係数を渡します。

まず、ライブラリを表現するパッケージ仕様部を作成し、起動するPL/SQL関数を定義します。

PACKAGE imglib IS
  FUNCTION get_image(ikey IN OUT VARCHAR2)
    RETURN Ora_Ffi.pointerType;

  PROCEDURE show_image(idata Ora_Ffi.pointerType,
                       iscale NUMBER);
END;   /* package imglib */

パッケージ本体は、次のように定義されます

PACKAGE BODY imglib IS
  /* Declare the library and function handles.*/
  imglib_lhandle      Ora_Ffi.libHandleType;
  get_image_fhandle   Ora_Ffi.funcHandleType;
  show_image_fhandle  Ora_Ffi.funcHandleType;

  /* Create the PL/SQL function that will actually  */
  /* invoke the 'get_image' foreign function.       */
  FUNCTION ff_get_image(fhandle Ora_Ffi.funcHandleType,
                        ikey IN OUT VARCHAR2)
    RETURN Ora_Ffi.handleType;
    PRAGMA interface(C, ff_get_image, 11265);

  /* Create the 'get_image' PL/SQL function that is */
  /* defined in the package spec.                   */
  FUNCTION get_image(ikey IN OUT VARCHAR2)
    RETURN Ora_Ffi.pointerType IS
    ptr Ora_Ffi.pointerType;
  BEGIN
    ptr.handle := ff_get_image(get_image_fhandle, ikey);
    RETURN(ptr);
  END;   /* function get_image */

  /* Create the PL/SQL procedure that will actually */
  /* invoke the 'show_image' foreign function.      */
  PROCEDURE ff_show_image(fhandle Ora_Ffi.funcHandleType,
                          idata Ora_Ffi.handleType,
                          iscale NUMBER);
    PRAGMA interface(C, ff_show_image, 11265);

  /* Create the 'show_image' PL/SQL procedure that is */
  /* defined in the package spec.                     */
  PROCEDURE show_image(idata Ora_Ffi.pointerType,
                       iscale NUMBER) IS
  BEGIN
    ff_show_image(show_image_fhandle, idata.handle, iscale);
  END;   /* procedure show_image */

BEGIN   /* package body imglib */

  /* Load the library.*/
  imglib_lhandle := Ora_Ffi.Load_Library
         ('C:\oralibs\', 'imglib.dll');

  /* Register the foreign functions.*/
  get_image_fhandle := Ora_Ffi.Register_Function
         (imglib_lhandle, 'get_image', Ora_Ffi.C_Std);
  show_image_fhandle := Ora_Ffi.Register_Function
         (imglib_lhandle, 'show_image', Ora_Ffi.C_Std);

  /* Register the parameters.*/
  Ora_Ffi.Register_Parameter(get_image_fhandle,
                             Ora_Ffi.C_Char_Ptr);

  Ora_Ffi.Register_Parameter(show_image_fhandle,
                             Ora_Ffi.C_Void_Ptr);
  Ora_Ffi.Register_Parameter(show_image_fhandle,
                             Ora_Ffi.C_Float);

  /* Register the return type ('get_image' only).*/
  Ora_Ffi.Register_Return(get_image_fhandle,
                          Ora_Ffi.C_Void_Ptr);

END;   /* package body imglib */

外部ファンクションを起動するには、次の例に示すように、パッケージ仕様部で定義されたPL/SQLプロシージャをコールします。

PROCEDURE display_image(keywrd IN OUT VARCHAR2) IS
  img_ptr  Ora_Ffi.Pointertype;
BEGIN
  img_ptr := imglib.get_image(keywrd);
  imglib.show_image(img_ptr, 2);
END;   /* procedure display_image */


OLE2パッケージ

  関連項目 	  すべてのビルトイン

OLE2.Add_Arg

OLE2.Add_Arg_Obj

OLE2.Create_Arglist

OLE2.Create_Obj

OLE2.Destroy_Arglist

OLE2.Get_Char_Property

OLE2.Get_Num_Property

OLE2.Get_Obj_Property

OLE2.Invoke

OLE2.Invoke_Num

OLE2.Invoke_Char

OLE2.Invoke_Obj

OLE2.IsSupported

OLE2.Last_Exception

OLE2.List_Type

OLE2.Obj_Type

OLE2.OLE_Error

OLE2.OLE_Not_Supported

OLE2.Release_Obj

OLE2.Set_Property


OLE2.Add_Arg

  例	   関連項目 	   すべてのビルトイン

説明  OLE2.Create_Arglistを使用して作成した引数リストに引数が追加されます。

構文

PROCEDURE OLE2.Add_Arg
   (List  List_Type,
    value NUMBER);

PROCEDURE OLE2.Add_Arg
   (List  List_Type,
    value VARCHAR2);

パラメータ

List	OLE2.Create_Arglist関数に割り当てられた引数リストの名前。
value	引数の値。
使用上の注意  引数は、NUMBERタイプまたはVARCHAR2タイプのどちらでも構いません。


OLE2.Add_Argの例

  関連項目	   すべての例

 /*
** Add an argument to my_Arglist
*/
OLE2.Add_Arg(my_Arglist, 'Sales Revenue');


OLE2.Add_Arg_Obj

  例	   関連項目 	   すべてのビルトイン

説明  OLE2.Create_Arglistを使用して作成した引数リストにオブジェクト引数が追加されます。

構文

PROCEDURE OLE2.Add_Arg_Obj
   (List IN List_Type,
    value IN Obj_Type);

パラメータ

List	OLE2.Create_Arglist関数のコールから戻されたリスト・ハンドル。
value	OLE2オートメーション・サーバーに渡されるObj_Typeの値。


OLE2.Add_Arg_Objの例

  関連項目	   すべての例

 /*
** When the OLE interface must accept an unknown object
** as an argument instead of a pure scalar type, use the
** Add_Arg_Obj procedure.
*/
object = OLE2.CREATE_OBJ(obj_name);
listh := OLE2.CREATE_ARGLIST;

OLE2.ADD_ARG_OBJ(listh, object);


OLE2.Create_Arglist

  例	   関連項目 	   すべてのビルトイン

説明  OLE2オートメーション・サーバーに渡す引数リストが作成されます。

構文

FUNCTION OLE2.Create_Arglist
RETURN List_Type;

戻り値  引数リストに対するハンドル。


OLE2.Create_Arglistの例

  関連項目	   すべての例

 /*
** Declare a variable of the type OLE2.List_Type
** then create the argument List Of that name
*/
  my_Arglist  OLE2.List_Type;
BEGIN
  my_Arglist := OLE2.Create_Arglist;
  OLE2.Add_Arg(my_Arglist, 'Sales Revenue');
END;


OLE2.Create_Obj

  例	   関連項目 	   すべてのビルトイン

説明  OLE2オートメーション・オブジェクトが作成されます。

構文

FUNCTION OLE2.Create_Obj
   (object  VARCHAR2)
RETURN obj_type;

パラメータ

object	OLE2オートメーション・オブジェクト。
戻り値  OLE2オートメーション・オブジェクトに対するハンドル。


OLE2.Create_Objの例

  関連項目	   すべての例

 /*
** Create an OLE2 Object
*/
obj := OLE2.Create_Obj('Excel.Application.5');


OLE2.Destroy_Arglist

  例	   関連項目 	   すべてのビルトイン

説明  OLE2.Create_Arglist関数を使用して、以前に作成した引数リストが破棄されます。

構文

PROCEDURE OLE2.Destroy_Arglist
   (List List_Type);

パラメータ

List	OLE2.Create_Arglist関数に割り当てられた引数リストの名前。


OLE2.Destroy_Arglistの例

  関連項目	   すべての例

 /*
** Destroy an argument list.
*/
OLE2.Destroy_Arglist(My_Arglist);


OLE2.Get_Char_Property

  例	   関連項目 	   すべてのビルトイン

説明  OLE2オートメーション・オブジェクトのプロパティが取得されます。

構文

FUNCTION OLE2.Get_Char_Property
   (object   obj_type,
    property VARCHAR2,
    Arglist  List_Type := 0)
RETURN VARCHAR2;

パラメータ

object	OLE2オートメーション・オブジェクト。
property	OLE2オートメーション・オブジェクト内のプロパティの名前。
Arglist	OLE2.Create_Arglist関数に割り当てられた引数リストの名前。
戻り値  文字値。


OLE2.Get_Char_Propertyの例

  関連項目	   すべての例

 /*
** Get the property for the object.
*/
str := OLE2.Get_Char_Property(obj, 'text');


OLE2.Get_Num_Property

  例	   関連項目 	   すべてのビルトイン

説明  OLE2オートメーション・オブジェクトの数値が取得されます。

構文

FUNCTION OLE2.Get_Num_Property
   (object   obj_type,
    property VARCHAR2,
    Arglist  List_Type := 0)
RETURN NUMBER;

パラメータ

object	OLE2オートメーション・オブジェクト。
property	OLE2オートメーション・オブジェクト内のプロパティの名前。
Arglist	OLE2.Create_Arglist関数に割り当てられた引数リストの名前。
戻り値  数値。


OLE2.Get_Num_Propertyの例

  関連項目	   すべての例

 /*
** Get the number value for the center of the map.
*/
x := OLE2.Get_Num_Property(Map,'GetMapCenterX');
y := OLE2.Get_Num_Property(Map,'GetMapCenterY');


OLE2.Get_Obj_Property

  例	   関連項目 	   すべてのビルトイン

説明  OLE2オートメーション・オブジェクトのオブジェクト・タイプの値が取得されます。

構文

FUNCTION OLE2.Get_Obj_Property
   (object   obj_type,
    property VARCHAR2,
    Arglist  List_Type := 0)
RETURN OBJ_TYPE;

パラメータ

object	OLE2オートメーション・オブジェクト。
property	OLE2オートメーション・オブジェクトの名前。
Arglist	OLE2.Create_Arglist関数に割り当てられた引数リストの名前。
戻り値  OLE2オートメーション・オブジェクトのプロパティ。


OLE2.Get_Obj_Propertyの例

  関連項目	   すべての例

 /*
**Get the object type value for the spreadsheet object.
*/
the_obj:=OLE2.Get_Obj_Property(spreadsheet_obj,
'Application');


OLE2.Invoke

  例	   関連項目 	   すべてのビルトイン

説明  OLE2メソッドが起動されます。

構文

PROCEDURE OLE2.Invoke
   (object obj_type,
    method VARCHAR2,
    List   List_Type := 0);

パラメータ

object	OLE2オートメーション・オブジェクト。
method	OLE2オブジェクトのメソッド（プロシージャ）。
List	OLE2.Create_Arglist関数に割り当てられた引数リストの名前。


OLE2.Invokeの例

  関連項目	   すべての例

 /*
**Invoke ZoomIn.
*/
OLE2.Invoke(Map, 'ZoomIn', my_Arglist);


OLE2.Invoke_Num

  例	   関連項目 	   すべてのビルトイン

説明  指定したメソッドを使用して、OLE2オートメーション・オブジェクトのNumber型が取得されます。

構文

FUNCTION OLE2.Invoke_Num
   (object   obj_type,
    method   VARCHAR2,
    Arglist  List_Type := 0)
RETURN NUMBER;

パラメータ

object	OLE2オートメーション・オブジェクト。
method	Number型を戻すOLE2オートメーション・メソッド（関数）の名前。
Arglist	OLE2.Create_Arglist関数に割り当てられた引数リストの名前。
戻り値  数値。


OLE2.Invoke_Numの例

  関連項目	   すべての例

 /*
**  Get the number value using the specified method.
*/
the_num:=OLE2.Invoke_Num (spreadsheet_obj, 'npv',
my_Arglist);


OLE2.Invoke_Char

  例	   関連項目 	   すべてのビルトイン

説明  指定したメソッドを使用して、OLE2オートメーション・オブジェクトのChar型が取得されます。

構文

FUNCTION OLE2.Invoke_Char
   (object   obj_type,
    method   VARCHAR2,
    Arglist  List_Type := 0)
RETURN VARCHAR2;

パラメータ

object	OLE2オートメーション・オブジェクト。
method	Char型を戻すOLE2オートメーション・メソッド（関数）の名前。
Arglist	OLE2.Create_Arglist関数に割り当てられた引数リストの名前。
戻り値  文字値。


OLE2.Invoke_Charの例

  関連項目	   すべての例

 /*
** Get the character value for spell_obj.
*/
correct:=OLE2.Invoke_Char(spell_obj, 'spell', my_Arglist);


OLE2.Invoke_Obj

  例	   関連項目 	   すべてのビルトイン

説明  OLE2オートメーション・オブジェクトのオブジェクト・タイプの値が取得されます。

構文

FUNCTION OLE2.Invoke_Obj
   (object   obj_type,
    method   VARCHAR2,
    Arglist  List_Type := 0)
RETURN OBJ_TYPE;

パラメータ

object	OLE2オートメーション・オブジェクト。
method	起動するOLE2オートメーション・メソッドの名前。
Arglist	OLE2.Create_Arglist関数に割り当てられた引数リストの名前。
戻り値  OLE2オートメーション・オブジェクト。


OLE2.Invoke_Objの例

  関連項目	   すべての例

 /*
** Get the object type value for wp_obj.
*/
para_obj:=OLE2.Invoke_Obj(wp_obj, 'get_para', my_Arglist);


OLE2.IsSupported

  例	   関連項目 	   すべてのビルトイン

説明  OLE2パッケージが現行プラットフォームでサポートされることが確認されます。

構文

OLE2.ISSUPPORTED

戻り値  プラットフォームでOLE2がサポートされていればTRUE、そうでなければFALSEが戻されます。


OLE2.IsSupportedの例

  関連項目	   すべての例

/*
** Before calling an OLE2 object in platform independent code,
** use this predicate to determine if OLE2 is supported on the
** current platform.
*/
IF (OLE2.ISSUPPORTED)THEN
. . . PL/SQL code using the OLE2 package
ELSE
. . . message that OLE2 is not supported
END IF;


OLE2.Last_Exception

  例	   関連項目 	   すべてのビルトイン

説明　PL/SQL例外によって通知された最後のOLE2例外が戻されます。

構文

FUNCTION last_exception return NUMBER;

または

FUNCTION last_exception(message OUT VARCHAR2) return NUMBER;

パラメータ

message	テキスト文字列（VARCHAR2）には、OLE2エラー・メッセージのテキストが含まれます。  この変数に情報が含まれていれば、コール元に対してエラー・コード値に加えて戻された情報です。

戻り値  最後のOLE2例外から戻された完全なOLE2エラー・コード。

使用上の注意

•	この関数に対しては、どちらの構文も使用できます。1番目の構文では、エラー・コードのみが戻されます。2番目の構文を使用すると、エラー・コードに加えてテキストの説明も戻されます。

•	この関数は、完全なOLE2 (Windows)型のエラー・コードをNUMBERとして戻します。エラー・コード部分のみを抽出するには、最高位ビット（Severity）を正確に削除し、残りの数値をINTEGERまたはBINARY_INTEGER形式に変換します。エラー・コードを整数として抽出するプロシージャの例は、OLE2.Last_Excecptionの例を参照してください。


OLE2.Last_Exceptionの例

  関連項目	   すべての例

PACKAGE olepack IS
  PROCEDURE init(...);
  PROCEDURE something(...);
  PROCEDURE shutdown(...);
  FUNCTION get_err(message OUT VARCHAR2) RETURN BINARY_INTEGER;
END olepack;

PACKAGE BODY olepack IS
...
  FUNCTION get_err(message OUT VARCHAR2) RETURN BINARY_INTEGER IS
  --
  -- OLE errors are formatted as 32 bit unsigned integers and
  -- returned as Oracle NUMBERS.We want to extract only the
  -- error code, which is contained in the lowest 16 bits.
  -- We must first strip off the top [severity] bit, if it
  -- exists.Then, we must translate the error to an
  -- INTEGER or BINARY INTEGER and extract the error code.
  --
  -- Some helpful constants:
  --  0x80000000 = 2147483648
  -- 0x100000000 = 4294967296
  --  0x0000FFFF =      65535
  --
     hibit     NUMBER := 2147483648;
     four_gig  NUMBER := 4294967296;
     code_mask NUMBER := 65535;
     excep     NUMBER;
     trunc_bi  BINARY_INTEGER;
     ole_code  BINARY_INTEGER;
  BEGIN
     excep := OLE2.LAST_EXCEPTION(message);
     IF (excep >= hibit) AND (excep <= four_gig) THEN
         trunc_bi := excep - hibit;
     END IF;
     -- Mask out just the Code section
     ole_code := BITAND(trunc_bi, code_mask);
     RETURN ole_code;
  END get_err;
END olepack;

PROCEDURE ole_test IS
  err_code BINARY_INTEGER;
  err_text VARCHAR2(255);
BEGIN
  olepack.init(...);
  olepack.something(...);
  olepack.shutdown(...);
EXCEPTION
  WHEN OLE2.OLE_ERROR THEN
    err_code := olepack.get_err(err_text);
    TEXT_IO.PUT_LINE('OLE Error #' || err_code || ':' || err_text);
    olepack.shutdown(...);
END ole_test;


OLE2.List_Type

  例	   関連項目 	   すべてのビルトイン

説明  引数リストに対するハンドルが指定されます。

構文

List   OLE2.LIST_TYPE;


OLE2.List_Type の例

  関連項目	   すべての例

...
  alist   OLE2.LIST_TYPE;
...
    alist := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(alist, <argument1>);
    OLE2.ADD_ARG(alist, <argument2>);
    ...

    wkbook := OLE2.INVOKE_OBJ(my_obj, 'method1', alist);
    ...


OLE2.Obj_Type

  例	   関連項目 	   すべてのビルトイン

説明  OLE2オートメーション・オブジェクトに対するハンドルが指定されます。

構文

obj OLE2.OBJECT_TYPE;

使用上の注意

•	OLE2.Obj_Typeは、OLE2パッケージのunknownオブジェクトに相当するものです。

•	詳細は、Formsドキュメンテーション内のFORMS_OLE.GET_INTERFACE_POINTERを参照してください。


OLE2.Obj_Typeの例

  関連項目	   すべての例

 /*
 ** Create an OLE2 Object
 */

  obj OLE2.OBJECT_TYPE;
  ...
   obj := OLE2.Create_Obj('Excel.Application.5');
  ...


OLE2.OLE_Error

  例	   関連項目 	   すべてのビルトイン

説明  この例外は、OLE2パッケージでのエラー時に発生します。

構文

OLE2.OLE_ERROR EXCEPTION;


OLE2.OLE_Errorの例

  関連項目	   すべての例

PROCEDURE ole_test IS
  err_code BINARY_INTEGER;
  err_text VARCHAR2(255);
BEGIN
  olepack.init(...);
  olepack.something(...);
  olepack.shutdown(...);
EXCEPTION
  WHEN OLE2.OLE_ERROR THEN
    err_code := olepack.get_err(err_text);
    TEXT_IO.PUT_LINE('OLE Error #' || err_code || ':' || err_text);
    olepack.shutdown(...);
END ole_test;


OLE2.OLE_Not_Supported

  例	   関連項目 	   すべてのビルトイン

説明  OLE2パッケージをコールしたときに、OLE2が現行ソフトウェア・プラットフォームでサポートされていない場合、この例外がコールされます。

構文

OLE2.OLE_NOT_SUPPORTED EXCEPTION;


OLE2.OLE_Not_Supportedの例

  関連項目	   すべての例

PROCEDURE ole_test IS
  err_code BINARY_INTEGER;
  err_text VARCHAR2(255);
BEGIN
  olepack.init(...);
  olepack.something(...);
  olepack.shutdown(...);
EXCEPTION
  WHEN OLE2.OLE_NOT_SUPPORTED THEN
    TEXT_IO.PUT_LINE('OLE2 is not supported on this computer');
    olepack.shutdown(...);
END ole_test;


OLE2.Release_Obj

  例	   関連項目 	   すべてのビルトイン

説明  PL/SQLクライアントにとって不要になったOLE2オートメーション・オブジェクトが通知されます。

構文

PROCEDURE OLE2.Release_Obj
   (object   obj_type);

パラメータ

object	OLE2オートメーション・オブジェクト。
使用上の注意  これを使用すると、オペレーティング・システムはそのオブジェクトに関連付けられたリソースの割当てを解除できます。ユーザーは、OLE2パッケージを使用して作成または起動した各OLE2オートメーション・オブジェクトを解放する必要があります。


OLE2.Release_Objの例

  関連項目	   すべての例

 /*
**Release the OLE2 object objap.
*/
declare
  objap   OLE2.Obj_Type;
begin
  objap:=OLE2.Create_Obj('Excel.application.5');
  OLE2.Release_Obj(objap);
end;


OLE2.Set_Property

  例	   関連項目 	   すべてのビルトイン

説明  OLE2オートメーション・オブジェクトのプロパティ値が設定されます。

構文

PROCEDURE OLE2.Set_Property
   (object   obj_type,
    property VARCHAR2,
    value    NUMBER,
    Arglist  List_Type := 0);

PROCEDURE OLE2.Set_Property
   (object   obj_type,
    property VARCHAR2,
    value    VARCHAR2,
    Arglist  List_Type := 0);

パラメータ

object	OLE2オートメーション・オブジェクト。
property	OLE2オートメーション・オブジェクト内のプロパティの名前。
value	プロパティの値。
Arglist	OLE2.Create_Arglist関数に割り当てられた引数リストの名前。


OLE2.Set_Propertyの例

  関連項目	   すべての例

/*
**Set properties for the OLE2 object `Excel.Application'.
*/
application:=OLE2.CREATE_OBJ('Excel.Application');
OLE2.Set_Property(application,'Visible', 'True');

workbooks:=OLE2.INVOKE_OBJ(application, 'Workbooks');
workbook:=OLE2.INVOKE_OBJ(workbooks,'Add');
worksheets:=OLE2.INVOKE_OBJ(workbook, 'Worksheets');
worksheet:=OLE2.INVOKE_OBJ(worksheets,'Add');
args:=OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(args, 4);
OLE2.ADD_ARG(args, 2);
cell:=OLE2.Invoke_Obj(worksheet, 'Cells', args);
OLE2.DESTROY_ARGLIST(args);
OLE2.Set_Property(cell, 'Value', 'Hello Excel!');


ORA_PROFパッケージ

  関連項目 	  すべてのビルトイン

Ora_Prof.Bad_Timer

Ora_Prof.Create_Timer

Ora_Prof.Destroy_Timer

Ora_Prof.Elapsed_Time

Ora_Prof.Reset_Timer

Ora_Prof.Start_Timer

Ora_Prof.Stop_Timer


Ora_Prof.Bad_Timer

  例	   関連項目 	   すべてのビルトイン

説明  別のORA_PROFパッケージ・プロシージャまたはファンクションに無効なタイマー名を渡すと呼び出されます。

構文

Ora_Prof.Bad_Timer  EXCEPTION;


Ora_Prof.Bad_Timerの例

  関連項目	   すべての例

  /*
** Create a timer, start it, run a subprogram,
** stop the timer, then display the time in
** seconds.Destroy the timer when finished.
*/
PROCEDURE timed_proc (test VARCHAR2) IS
  i PLS_INTEGER;
BEGIN
  Ora_Prof.Create_Timer('loop2');
  Ora_Prof.Start_Timer('loop2');
  test;
  Ora_Prof.Stop_Timer('loop2');
  Text_IO.Putf('Loop executed in %s seconds.\n',
                Ora_Prof.Elapsed_Time('loop2'));
  Ora_Prof.Destroy_Timer('loop2');
EXCEPTION
  WHEN ORA_PROF.BAD_TIMER THEN
  text_io.put_line('Invalid timer name');

END;


Ora_Prof.Create_Timer

  例	   関連項目 	   すべてのビルトイン

説明  名前付きタイマーが割り当てられます。このプロシージャを使用する前に名前付きタイマーを参照すると、エラーになります。

構文

PROCEDURE Ora_Prof.Create_Timer
   (timer VARCHAR2);

パラメータ

timer	タイマーの名前。


Ora_Prof.Create_Timerの例

  関連項目	   すべての例

 /*
**Allocate the timer 'LOOPTIME'.
*/
Ora_Prof.Create_Timer('LOOPTIME');


Ora_Prof.Destroy_Timer

  例	   関連項目 	   すべてのビルトイン

説明  名前付きタイマーが破棄されます。そのタイマーに関連付けられたメモリーはすべて、その時点で解放されます。このプロシージャを使った後に、名前付きタイマーを参照すると、エラーになります。

構文

PROCEDURE Ora_Prof.Destroy_Timer
   (timer VARCHAR2);

パラメータ

timer	タイマーの名前。


Ora_Prof.Destroy_Timerの例

  関連項目	   すべての例

 /*
**Destroy the timer 'LOOPTIME'.
*/
Ora_Prof.Destroy_Timer('LOOPTIME');


Ora_Prof.Elapsed_Time

  例	   関連項目 	   すべてのビルトイン

説明  Ora_Prof.Reset_Timerを最後にコールしてからコード・タイマーに累積された合計経過時間が戻されます。

構文

FUNCTION Ora_Prof.Elapsed_Time
   (timer PLS_INTEGER)
RETURN PLS_INTEGER;

パラメータ

timer	タイマーの名前。
戻り値  コード・タイマーに累積された経過時間（ミリ秒単位）。


Ora_Prof.Elapsed_Timeの例

  関連項目	   すべての例

 /*
** Create a timer, start it, run a subprogram,
** stop the timer, then display the time in
** seconds.Destroy the timer when finished.
*/
PROCEDURE timed_proc (test VARCHAR2) IS
  i PLS_INTEGER;
BEGIN
  Ora_Prof.Create_Timer('loop2');
  Ora_Prof.Start_Timer('loop2');
  test;
  Ora_Prof.Stop_Timer('loop2');
  Text_IO.Putf('Loop executed in %s seconds.\n',
     Ora_Prof.Elapsed_Time('loop2'));
  Ora_Prof.Destroy_Timer('loop2');
END;


Ora_Prof.Reset_Timer

  例	   関連項目 	   すべてのビルトイン

説明  タイマーの経過時間を0（ゼロ）にリセットします。

構文

PROCEDURE Ora_Prof.Reset_Timer
   (timer VARCHAR2);

パラメータ

timer	タイマーの名前。


Ora_Prof.Reset_Timerの例

  関連項目	   すべての例

 PROCEDURE multi_time IS
  i PLS_INTEGER;
BEGIN
  Ora_Prof.Create_Timer('loop');
   --
   -- First loop...
   --
  Ora_Prof.Start_Timer('loop');
    FOR i IN 1..10 LOOP
      Text_IO.Put_Line('Hello');
    END LOOP;
  Ora_Prof.Stop_Timer('loop');
   --
   -- Second loop...
   --
  Ora_Prof.Start_Timer('loop');
  FOR i IN 1..10 LOOP
    Text_IO.Put_Line('Hello');
  END LOOP;
  Ora_Prof.Stop_Timer('loop');
  Ora_Prof.Destroy_Timer('loop');
END;


Ora_Prof.Start_Timer

  例	   関連項目 	   すべてのビルトイン

説明  タイマーが起動されます。Ora_Prof.Timer_StartをコールしてからOra_Prof.Timer_Stopを呼び出すまでの累積経過時間がタイマーの合計経過時間に加算されます。

構文

PROCEDURE Ora_Prof.Start_Timer
   (timer VARCHAR2);

パラメータ

timer	タイマーの名前。


Ora_Prof.Start_Timerの例

  関連項目	   すべての例

 PROCEDURE multi_time IS
  i PLS_INTEGER;
BEGIN
  Ora_Prof.Create_Timer('loop');
   --
   -- First loop...
  --
  Ora_Prof.Start_Timer('loop');
    FOR i IN 1..10 LOOP
      Text_IO.Put_Line('Hello');
    END LOOP;
  Ora_Prof.Stop_Timer('loop');
   --
   -- Second loop...
   --
  Ora_Prof.Start_Timer('loop');
  FOR i IN 1..10 LOOP
    Text_IO.Put_Line('Hello');
  END LOOP;
  Ora_Prof.Stop_Timer('loop');
  Ora_Prof.Destroy_Timer('loop');
END;


Ora_Prof.Stop_Timer

  例	   関連項目 	   すべてのビルトイン

説明  タイマーが停止されます。Ora_Prof.Timer_StartをコールしてからOra_Prof.Timer_Stopを呼び出すまでの累積経過時間がタイマーの合計経過時間に加算されます。

構文

PROCEDURE Ora_Prof.Stop_Timer
   (timer VARCHAR2);

パラメータ

timer	タイマーの名前。


Ora_Prof.Stop_Timerの例

  関連項目	   すべての例

 PROCEDURE multi_time IS
  i PLS_INTEGER;
BEGIN
  Ora_Prof.Create_Timer('loop');
   --
   -- First loop...
   --
  Ora_Prof.Start_Timer('loop');
    FOR i IN 1..10 LOOP
      Text_IO.Put_Line('Hello');
    END LOOP;
  Ora_Prof.Stop_Timer('loop');
   --
   -- Second loop...
   --
  Ora_Prof.Start_Timer('loop');
  FOR i IN 1..10 LOOP
    Text_IO.Put_Line('Hello');
  END LOOP;
  Ora_Prof.Stop_Timer('loop');
  Ora_Prof.Destroy_Timer('loop');
END;


TOOL_RESパッケージ

  関連項目 	  すべてのビルトイン

Tool_Res.Bad_File_Handle

Tool_Res.Buffer_Overflow

Tool_Res.File_Not_Found

Tool_Res.No_Resource

Tool_Res.Rfclose

Tool_Res.Rfhandle

Tool_Res.Rfopen

Tool_Res.Rfread


Tool_Res.Bad_File_Handle

  例 	   関連項目 	   すべてのビルトイン

説明  Tool_Res.Rfcloseに渡したファイル・ハンドルが無効な場合に呼び出されます。

構文

Tool_Res.Bad_File_Handle  EXCEPTION;


Tool_Res.Bad_File_Handleの例

  関連項目	   すべての例

/*
** This examples uses Tool_Res.Bad_File_Handle
*/
PRODEDURE res_test IS
  resfileh   TOOL_RES.RFHANDLE;
  resfileh1  TOOL_RES.RFHANDLE;
  res1       VARCHAR2(20);
BEGIN
  /*  Open a resource file */
  resfileh := TOOL_RES.RFOPEN('C:\resource\test.res');
  ...
  /* Used wrong handle to close
       the resource file.*/
  TOOL_RES.RFCLOSE(resfileh1);
  ...
EXCEPTION
  WHEN TOOL_RES.BAD_FILE_HANDLE THEN
    /* print error message */
    TEXT_IO.PUT_LINE('Invalid file handle.');
    /* discard the error */
    TOOL_ERR.POP;
END;


Tool_Res.Buffer_Overflow

  例 	   関連項目 	   すべてのビルトイン

説明  提供されたバッファより長いリソースを取得しようとすると呼び出されます。

構文

Tool_Res.Buffer_Overflow  EXCEPTION;


Tool_Res.Buffer_Overflowの例

  関連項目	   すべての例

/*
** This example uses Tool_Res.Buffer_Overflow
*/
PRODEDURE res_buf_test IS
  resfileh   TOOL_RES.RFHANDLE;
  res1       VARCHAR2(20);
BEGIN
  /*  Open a resource file */
  resfileh := TOOL_RES.RFOPEN
           ('C:\resource\test.res');
  /*  Attempt to read very large string
          which overflows buffer.*/
  res1 := TOOL_RES.RFREAD(resfileh,'res_1');
   ...

EXCEPTION
  WHEN TOOL_RES.BUFFER_OVERFLOW THEN
    /* print error message */
    TEXT_IO.PUT_LINE('Buffer overflow.');
    /* discard the error */
    TOOL_ERR.POP;
END;


Tool_Res.File_Not_Found

  例 	   関連項目 	   すべてのビルトイン

説明  指定したファイルをオープンできないと呼び出されます。 ほとんどの場合、次の理由が原因です。

•	ファイル名

•	ファイルに対する許可

•	システム・エラー

構文

Tool_Res.File_Not_Found  EXCEPTION;


Tool_Res.File_Not_Foundの例

  関連項目	   すべての例

/*
** This example uses Tool_Res.File_Not_Found
*/
PRODEDURE res_test IS
  resfileh   TOOL_RES.RFHANDLE;
  res1       VARCHAR2(20);
BEGIN
  /* Open a resource file */
  resfileh := TOOL_RES.RFOPEN
        ('C:\resource\twst.res');
  /* File name is misspelled. */
  ...

EXCEPTION
  WHEN TOOL_RES.FILE_NOT_FOUND THEN
    /* print error message */
    TEXT_IO.PUT_LINE('Cannot find the file.');
    /* discard the error */
    TOOL_ERR.POP;
END;


Tool_Res.No_Resource

  例 	   関連項目 	   すべてのビルトイン

説明  指定したリソースが見つからないと呼び出されます。ファイルを指定した場合、指定したリソースはそのファイル内にはありません。ファイルを指定しなかった場合、そのリソースは、現在オープンしているリソース・ファイル内には存在しません。

構文

Tool_Res.No_Resource  EXCEPTION;


Tool_Res.No_Resourceの例

  関連項目	   すべての例

/*
** This examples uses Tool_Res.No_Resource
*/
PRODEDURE res_test IS
  resfileh   TOOL_RES.RFHANDLE;
  res1       VARCHAR2(20);
BEGIN
  /* Open a resource file */
  resfileh := TOOL_RES.RFOPEN
         ('C:\resource\test.res');
  /* Attempt to read nonexistant
     resource from file.*/
  res1 := TOOL_RES.RFREAD(resfileh,'Res_1');
   ...

EXCEPTION
  WHEN TOOL_RES.NO_RESOURCE THEN
    /* print error message */
    TEXT_IO.PUT_LINE('Cannot find the resource.');
    /* discard the error */
    TOOL_ERR.POP;
END;


Tool_Res.Rfclose

  例	   関連項目 	   すべてのビルトイン

説明  指定したリソース・ファイルがクローズされます。Tool_Res.Rfopenでオープンしたすべてのファイルは、アプリケーションを終了する前に、Tool_Res.Rfcloseを使用してクローズする必要があります。

構文

PROCEDURE Tool_Res.Rfclose
   (file rfhandle);

パラメータ

file	クローズするファイル。
使用上の注意  RFCLOSEが呼び出す例外は次のとおりです。

BAD_FILE_HANDLE	ファイル・ハンドルが有効なファイルを指し示していない場合に呼び出されます。
Tool_Err.Tool_Error	内部エラーが検出された場合に呼び出されます。


Tool_Res.Rfcloseの例

  関連項目	   すべての例

/*
** This examples uses Tool_Res.Rfclose
*/
PROCEDURE my_cleanup
     (my_file_handle IN OUT TOOL_RES.RFHANDLE)IS
BEGIN
  /* Assign a resource file to 'fhandle.' */
  ...

  /* Close the resource file with the
              handle 'fhandle.'*/
  TOOL_RES.RFCLOSE(my_file_handle);
  ...
END;


Tool_Res.Rfhandle

  例	   関連項目 	   すべてのビルトイン

説明  ファイルに対するハンドルが指定されます。

構文

TYPE Tool_Res.Rfhandle;


Tool_Res.Rfhandleの例

  関連項目	   すべての例

/*
** This examples uses Tool_Res.Rfhandle
*/
PRODEDURE res_test IS
  /* Specify the handle 'resfileh'.*/
  resfileh   TOOL_RES.RFHANDLE;
BEGIN
  /* Assign handle to a resource file */
  resfileh := TOOL_RES.RFOPEN('C:\test.res');
  ...
END;


Tool_Res.Rfopen

  例	   関連項目 	   すべてのビルトイン

説明  指定したファイルがリソース・ファイルとしてオープンされます。

構文

FUNCTION Tool_Res.Rfopen
   (spec VARCHAR2)
RETURN rfhandle;

パラメータ

spec	オープンするファイル。 specは大/小文字を区別しません。
戻り値  指定したファイルに対するハンドル。

使用上の注意  Tool_Res.Rfopenが呼び出す例外は次のとおりです。

File_Not_Found	Raised if spec有効なファイルを指していないかファイルをオープンできない場合に呼び出されます。
Tool_Err.Tool_Error	内部エラーが検出された場合に呼び出されます。


Tool_Res.Rfopenの例

  関連項目	   すべての例

/*
** This example uses Tool_Res.Rfopen
*/
PROCEDURE my_init
  (fhandle OUT TOOL_RES.RFHANDLE) IS
BEGIN
  /* Open a resource file and assign it to
            the handle, 'fhandle.'*/
  fhandle := TOOL_RES.RFOPEN('C;\my_app.res');
   ...
END;


Tool_Res.Rfread

  例	   関連項目 	   すべてのビルトイン

説明  指定したリソースが読み込まれます。ファイル・ハンドルを含んでいる場合、指定したリソース・ファイルのみが検索されます。ファイル・ハンドルを含んでいない場合は、現在オープンしているリソース・ファイルをすべて検索します。

構文

FUNCTION Tool_Res.Rfread
   (rfile   rfhandle,
    resid   VARCHAR2,
    restype VARCHAR2 := 'string')
RETURN VARCHAR2;

FUNCTION Tool_Res.Rfread
   (resid   VARCHAR2,
    restype VARCHAR2 := 'string')
RETURN VARCHAR2;

パラメータ

rfile	読み込むファイル。
resid	リソースのID。
restype	リソースの型。
戻り値  指定したファイルに対するハンドル。

使用上の注意  Rfreadが呼び出す例外は次のとおりです。

No_Resource	指定したリソースが見つからなかった場合に呼び出されます。
Buffer_Overflow	提供される"buffer"が要求したリソースより小さい場合に呼び出されます。
Tool_Err.Tool_Error	内部エラーが検出された場合に呼び出されます。


Tool_Res.Rfreadの例

  関連項目	   すべての例

/*
** This examples uses Tool_Res.Rfread
*/
PRODEDURE ban_res IS
  resfileh   TOOL_RES.RFHANDLE;
  res1       VARCHAR2(20);
BEGIN
  /*  Open a resource file */
  resfileh := TOOL_RES.RFOPEN
         ('C:\resource\test.res');
  /*  Read resource string 'banner' from file */
  res1 := TOOL_RES.RFREAD(resfileh,'banner');
  ...

  TEXT_IO.PUT_LINE(res1);
  ...

END;


?


TEXT_IOパッケージ

  関連項目 	  すべてのビルトイン

Text_IO.Fclose

Text_IO.File_Type

Text_IO.Fopen

Text_IO.Is_Open

Text_IO.Get_Line

Text_IO.New_Line

Text_IO.Put

Text_IO.Putf

Text_IO.Put_Line


Text_IO.Fclose

  例	   関連項目 	   すべてのビルトイン

説明  ファイルがクローズされます。

構文

PROCEDURE Text_IO.Fclose
   (file file_type);

パラメータ

file	クローズするファイルを指定する変数。


Text_IO.Fcloseの例

  関連項目	   すべての例

 /*
**  Close the output file.
*/
Text_IO.Fclose (out_file);


Text_IO.File_Type

  例	   関連項目 	   すべてのビルトイン

説明  ファイルに対するハンドルが指定されます。

構文

TYPE Text_IO.File_Type;


Text_IO.File_Typeの例

  関連項目	   すべての例

 /*
** Declare a local variable to represent
** the output file you will write to.
*/
out_file  Text_IO.File_Type;


Text_IO.Fopen

  例	   関連項目 	   すべてのビルトイン

説明  ファイルを指定したモードでオープンします。

構文

FUNCTION Text_IO.Fopen
   (spec     VARCHAR2,
    filemode VARCHAR2)
RETURN Text_IO.File_Type;

パラメータ

spec	ファイル名に相当する大/小文字の区別なしの文字列。
filemode	ファイルをオープンするときのモードを指定する、大/小文字の区別なしの1つの文字であり、次の文字のうちの一つになります。 R     読込み専用として、ファイルをオープンします。 W     ファイル内の既存の行をすべて削除した後、読込みおよび書込みを行うために、ファイルをオープンします。 A     ファイル内の既存の行を削除しないで（追加して）、読込みおよび書込みを行うために、ファイルをオープンします。
戻り値  指定したファイルに対するハンドル。


Text_IO.Fopenの例

  関連項目	   すべての例

 /*
** Declare two local variables to represent two files:
** one to read from, the other to write to.
*/
in_file   Text_IO.File_Type;
out_file  Text_IO.File_Type;
in_file  := Text_IO.Fopen('salary.txt', 'r');
out_file := Text_IO.Fopen('bonus.txt', 'w');


Text_IO.Is_Open

  例	   関連項目 	   すべてのビルトイン

説明  指定したファイルが現在オープンされているかどうかチェックされます。

構文

FUNCTION Text_IO.Is_Open
   (file file_type)
RETURN BOOLEAN;

パラメータ

file	チェックするファイルを指定する変数。
戻り値  TRUEまたはFALSE。


Text_IO.Is_Openの例

  関連項目	   すべての例

 /*
** Determine if the output file is open.If so,
** then close it.
*/
IF Text_IO.Is_Open(out_file) THEN
   Text_IO.Fclose(out_file);


Text_IO.Get_Line

  例	   関連項目 	   すべてのビルトイン

説明  オープンしているファイルの行を検索し、item内に入れます。Text_IO.Get_Lineは、改行文字（キャリッジ・リターン）が読み込まれるか、またはファイルの終わり（EOF）条件が検出されるまで、文字を読み込みます。

読み込む行がitemのサイズを超えると、Value_Error例外が呼び出されます。ファイル内に読み込む文字がなくなると、No_Data_Found例外が呼び出されます。

構文

PROCEDURE Text_IO.Get_Line
  (file file_type,
   item OUT VARCHAR2);

パラメータ

file	オープン・ファイルを指定する変数。
item	読み込んだ次の行を格納しておく変数。


Text_IO.Get_Lineの例

  関連項目	   すべての例

/*
** Open a file and read the first line
** into linebuf.
*/
declare
  in_file  Text_IO.File_Type;
  linebuf  VARCHAR2(80);
begin
  in_file := Text_IO.Fopen('salary.txt', 'r');
  Text_IO.Get_Line(in_file,linebuf);
end;


Text_IO.New_Line

  例	   関連項目 	   すべてのビルトイン

説明  オープン・ファイルの現行の行に、指定した数の改行文字（キャリッジ・リターン）が連結されるか、インタプリタに出力されます。デフォルト値は1です。つまり、値を指定しない（たとえばText_IO.New_Line）場合、改行文字が1つ作成されます。

構文

PROCEDURE Text_IO.New_Line
   (file file_type,
    n    PLS_INTEGER := 1);

PROCEDURE Text_IO.New_Line
    (n PLS_INTEGER := 1);

パラメータ

file	オープン・ファイルを指定する変数。
n	整数。


Text_IO.New_Lineの例

  関連項目	   すべての例

 /*
** Write a string to the output file, then
** create a newline after it.
*/
Text_IO.Put(out_file, SYSDATE);
Text_IO.New_Line(out_file, 2);


Text_IO.Put

  例	   関連項目 	   すべてのビルトイン

説明  指定したデータがオープンしているファイルの現行の行に連結されるか、インタプリタに出力されます。itemについてVARCHAR2、DATE、NUMBERおよびPLS_INTEGERの値を受け付けるText_IO.Putプロシージャがいくつかあることに注意してください。すべてのプロシージャ（VARCHAR2を除く）は、指定したデータを文字列に変換します。改行文字（キャリッジ・リターン）は追加されません。

構文

PROCEDURE Text_IO.Put
   (file file_type,
    item VARCHAR2);

PROCEDURE Text_IO.Put
   (item VARCHAR2);

PROCEDURE Text_IO.Put
   (item DATE);

PROCEDURE Text_IO.Put
   (file file_type,
    item DATE);

PROCEDURE Text_IO.Put
   (file file_type,
    item NUMBER);

PROCEDURE Text_IO.Put
   (item NUMBER);

PROCEDURE Text_IO.Put
   (file file_type,
    item PLS_INTEGER);

PROCEDURE Text_IO.Put
   (item PLS_INTEGER);

パラメータ

file	オープン・ファイルを指定する変数。
item	バッファとして使用される変数。


Text_IO.Putの例

  関連項目	   すべての例

 /*
** Write a line to a specified output file, create
** a newline, then write another line to the output
** file.
*/
Text_IO.Put(out_file, SYSDATE);
Text_IO.New_Line(out_file);
Text_IO.Put('Processing ends...');


Text_IO.Putf

  例	   関連項目 	   すべてのビルトイン

説明  メッセージがフォーマットされてオープン・ファイルに書き込まれるか、メッセージがインタプリタに出力されます。formatには5個の"%s"パターン（たとえば'%s %s %s'）まで埋め込むことができます。"%s"パターンは、連続した文字arg値（たとえば'Check', 'each', 'value'）で置換されます。"\n"パターンは改行文字（つまりキャリッジ・リターン）で置換されます。

構文

PROCEDURE Text_IO.Putf
   (arg    VARCHAR2);

PROCEDURE Text_IO.Putf
   (file   file_type,
    arg    VARCHAR2);

PROCEDURE Text_IO.Putf
   (file   file_type,
    format VARCHAR2,
   [arg1 [,..., arg5] VARCHAR2]);

PROCEDURE Text_IO.Putf
   (format VARCHAR2,
   [arg1 [,..., arg5] VARCHAR2]);

パラメータ

arg	表示する値（文字列、変数など）を指定する引数。
format	表示するメッセージの書式を指定します。
file	オープン・ファイルを指定する変数。
使用上の注意  文字以外に置換されたデータが入っているメッセージをフォーマットするには、引数でTO_CHARファンクションを使います（次の例を参照してください）。


Text_IO.Putfの例

  関連項目	   すべての例

 /*
** Write a line to the output file, using the
** TO_CHAR(SYSDATE) call to represent the substituted
** character variable.
*/
Text_IO.Putf(out_file,'Today is %s\n',
  TO_CHAR(SYSDATE));


Text_IO.Put_Line

  例	   関連項目 	   すべてのビルトイン

説明  itemで指定した文字データがオープンしているファイルの現行の行に連結されるか、インタプリタに出力されます。改行文字（キャリッジ・リターン）は、文字列の末尾に自動的に追加されます。

構文

PROCEDURE Text_IO.Put_Line
   (file file_type,
    item VARCHAR2);

パラメータ

file	オープン・ファイルを指定する変数。
item	表示する文字データを指定する変数。


Text_IO.Put_Lineの例

  関連項目	   すべての例

 /*
** Print two complete lines to the output file.
*/
Text_IO.Put_Line(out_file, TO_CHAR(SYSDATE));
Text_IO.Put_Line('Starting test procedures...');


?


Oracle Developerビルトイン・パッケージについて

  関連項目 	  すべてのビルトイン

Oracle Developerには複数のクライアント側のビルトイン・パッケージが用意されており、アプリケーションの構築時やアプリケーション・コードのデバッグ時に参照できるPL/SQL構成体がいくつも含まれています。これらのビルトイン・パッケージは、パッケージSTANDARDの拡張機能としてインストールされるわけではありません。したがって、パッケージ内の構成体を参照する場合は常に、構成体名の前にパッケージ名（Text_IO.Put_Lineなど）を付ける必要があります。

用意されているビルトイン・パッケージは次のとおりです。

DDE	Oracle Developerコンポーネント内の動的データ交換（DDE）がサポートされます。
DEBUG	PL/SQLプログラム単位のデバッグに必要なプロシージャ、ファンクション、例外が提供されます。
EXEC_SQL	Oracle Developerアプリケーション用に記述されたPL/SQLコード内で動的SQLを実行するためのプロシージャおよびファンクションが提供されます。
LIST	文字列（VARCHAR2）のリストを作成および維持するためのプロシージャ、ファンクション、例外が提供されます。これにより、PL/SQLバージョン1で配列を作成できます。
OLE2	OLE2オートメーション・オブジェクトの属性の作成、操作、アクセスに必要なPL/SQLアプリケーション・プログラミング・インターフェース（API）が提供されます。
ORA_FFI	PL/SQLから外部（C）ファンクションを呼び出す際に必要なパブリック・インタフェースが提供されます。
ORA_NLS	現行の言語環境に関する高水準の情報を抽出できます。
ORA_PROF	PL/SQLプログラム単位の調整（特定のコードの実行時間の検査など）に使用するプロシージャ、ファンクションおよび例外が提供されます。
TEXT_IO	ファイル情報の読込みおよび書込みに必要な構成体が提供されます。
TOOL_ENV	Oracle環境変数との対話が可能になります。
TOOL_ERR	DEBUGなど他のビルトイン・パッケージによって作成されたエラー・スタックへのアクセスおよび操作が可能になります。
TOOL_RES	リソース・ファイルからすべてのテキスト・データを切り離し、移植性の高いPL/SQLコードを作成するために、リソース・ファイルから文字列リソースを抽出する方法が提供されます。

次のパッケージは、Oracle Developerの内部のみで使用されます。これらのパッケージには、外部で使用可能なサブプログラムは含まれていません。

ORA_DE	プライベートPL/SQLサービスのためにOracle Developerで使用される構成体が格納されています。
STPROC	Oracle Developer内部で、データベースに格納されているサブプログラムをコールする際に使用されます。このパッケージのコールは自動的に生成されます。


DDEパッケージについて

  関連項目 	  すべてのビルトイン

DDEパッケージにより、Oracle Developerコンポーネント内での動的データ交換（DDE）サポートが提供されます。

動的データ交換（DDE）とは、Windows95/NTのアプリケーション間で通信し、データを交換できるメカニズムのことです。DDEクライアントのサポートは、Oracle Developerのプロシージャ拡張機能として追加されます。DDEサポート用のPL/SQLパッケージにより、アプリケーション開発者がPL/SQLプロシージャやトリガー内でDDE機能にアクセスするのに必要なアプリケーション・プログラミング・インタフェース（API）が提供されます。

DDE機能により、Oracleのアプリケーションから他のDDE対応のWindows95/NTアプリケーション（サーバー）に、次の3つの方法で通信できます。

•	データのインポート

•	データのエクスポート

•	DDEサーバーに対するコマンドの実行

このリリースでは、DDEに次の機能は組み込まれていません。

•	データのリンク（アドバイス・トランザクション）

Oracleのアプリケーションでは、データ項目が変更されたとき、更新通知を自動受信できません。

•	サーバーのサポート

Oracleのアプリケーションでは、DDEクライアントからのコマンドまたはデータ要求には応答できません。したがって、Oracleのアプリケーション側でDDEの会話を開始する必要があります（ただし、データはクライアントとサーバーのどちらにも転送できます）。

サポート機能	他のDDEサーバー・アプリケーションの起動および停止に使います。

接続/切断機能	DDEサーバー・アプリケーションへの接続および切断に使います。

トランザクション機能	DDEサーバー・アプリケーションとのデータ交換に使います。

データ型変換機能	DDEデータ型定数を文字列に変換および復元する際に使います。また、DDE.Getformatnumを使用すると、Windowsで事前定義されていない新しいデータ形式を登録することができます。これらのファンクションによって変換されるのはデータ型定数のみで、データそのものは変換されない点に注意してください（DDEデータはすべて、PL/SQLではCHARデータ型で表示されます）。

注意:  Oracle Developerのこれまでのリリースでは、Windows固有のDDE機能のコールがWindows以外のプラットフォームで正しくコンパイルおよび実行されるように、スタブ・ライブラリを連結する必要がありました。このリリースでは、連結の必要はなくなっています。ただし、Windows固有のビルトイン機能をWindows以外のプラットフォームで実行しようとすると、次のメッセージが表示されます。

FRM-40735: トリガー<名前>が未処理の例外を引き起こしました。
ORA-06509, 00000 PL/SQL: このパッケージのICDベクトルがありません。


Microsoft Windowsの定義済みデータ形式

  関連項目

定義済みデータ形式の例外については、例外を参照してください。

DDE.Cf_Bitmap	ビットマップ形式のデータです。
DDE.Cf_Dib	ビットマップ・データの先頭にBITMAPINFO構造体が含まれているメモリー・オブジェクトです。
DDE.Cf_Dif	データ交換形式（DIF）のデータです。
DDE.Cf_Dspbitmap	プライベート形式をビットマップで表現したデータです。このデータは、プライベート形式ではなく、ビットマップ形式で表示されます。
DDE.Cf_Dspmetafile-Pict	プライベート・データ形式をメタファイルで表現したデータです。このデータは、プライベート形式ではなく、メタファイル・ピクチャー形式で表示されます。
DDE.CF_Dsptext	プライベート・データ形式をテキストで表現したデータです。このデータは、プライベート形式ではなく、テキスト形式で表示されます。
DDE.Cf_Metafilepict	メタファイル形式のデータです。
DDE.Cf_Oemtext	OEMキャラクタ・セットに含まれているテキスト文字の配列です。各行末に、キャリッジ・リターンと改行（CR-LF）の組合せが付きます。データの終わりには、NULL文字が付きます。
DDE.Cf_Owner-Display	クリップボード所有者が表示する必要があるプライベート形式のデータです。
DDE.Cf_Palette	カラー・パレットのデータです。
DDE.Cf_Pendata	Windowsオペレーティング・システムのペン拡張機能用のデータです。
DDE.Cf_Riff	リソース交換ファイル形式（RIFF）のデータです。
DDE.Cf_Sylk	Microsoftシンボリック・リンク（SYLK）形式のデータです。
DDE.Cf_Text	テキスト文字の配列からなるデータです。各行末に、キャリッジ・リターンと改行（CR-LF）の組合せが付きます。データの終わりには、NULL文字が付きます。
DDE.Cf_Tiff	タグ付きイメージ・ファイル形式（TIFF形式）のデータです。
DDE.Cf_Wave	サウンド・ウェーブを記述するデータです。このデータ形式はCF_RIFFデータ形式のサブセットであり、RIFF WAVEファイルでしか使えません。


DDEの定義済みの例外

  関連項目

DDE.DDE_App_Failure	DDE.App_Beginコールで指定されたアプリケーション・プログラムを、起動できませんでした。
DDE.DDE_App_Not_Found	DDE.App_EndまたはDDE.App_Focusのコールで指定されたアプリケーションIDは、実行中のアプリケーションに対応しません。
DDE.DDE_Fmt_Not_Found	DDE.Getformatstrコールで指定された形式番号が不明です。
DDE.DDE_Fmt_Not_Reg	DDE.Getformatnumコールで指定された形式文字列は、事前定義済みの形式に対応しません。また、ユーザー定義形式として登録されませんでした。
DDE.DDE_Init_Failed	アプリケーション側でDDE通信を初期化できなかったため、DDEレイヤーのコールに失敗しました。
DDE.DDE_Param_Err	DDEパッケージ・ルーチンに、NULL値などの無効なパラメータが渡されました。
DDE.Dmlerr_Busy	サーバー・アプリケーションがビジーのため、トランザクションは失敗しました。
DDE.Dmlerr_Dataacktimeout	同期データ・トランザクションの要求は、タイムアウトになりました。
DDE.Dmlerr_Execack_ Timeout	同期実行トランザクションの要求は、タイムアウトになりました。
DDE.Dmlerr_Invalidparameter	パラメータの検証に失敗しました。次のような原因が考えられます。
	アプリケーションで使用されたデータ・ハンドルが、トランザクションで要求されている項目名ハンドルまたはクリップボード・データ形式で初期化されていない。
	アプリケーションで、無効な会話識別子が使用された。
	アプリケーションの複数のインスタンスで同じオブジェクトが使用された。
DDE.Dmlerr_Memory_Error	メモリー割当てに失敗しました。
DDE.Dmlerr_No_Conv_Established	クライアントの会話の確立に失敗しました。DDE.Initiateコールのサービスまたはトピック名により、エラーを生じることがあります。
DDE.Dmlerr_Notprocessed	トランザクションは失敗しました。DDE.PokeまたはDDE.Requestのトランザクションの項目名にエラーがある可能性があります。
DDE.Dmlerr_Not_Supported	DDEパッケージへのコールが行われましたが、現行のソフトウェア・プラットフォームではDDEがサポートされていません。
DDE.Dmlerr_Pokeacktimeout	同期DDE.Pokeトランザクションの要求は、タイムアウトになりました。
DDE.Dmlerr_Postmsg_Failed	PostMessageファンクションの内部コールに失敗しました。
DDE.Dmlerr_Server_ Died	トランザクションを完了する前にサーバーが終了しました。
DDE.Dmlerr_Sys_Error	DDEレイヤーで内部エラーが発生しました。


DEBUGパッケージについて

  関連項目 	  すべてのビルトイン

DEBUGパッケージには、PL/SQLプログラム単位のデバッグに必要なプロシージャ、ファンクションおよび例外が含まれています。これらのビルトイン・サブプログラムを使用して、デバッグ・トリガーを作成し、トリガーでブレークポイントを設定します。


LISTパッケージについて

  関連項目 	  すべてのビルトイン

LISTパッケージには、文字列（VARCHAR2）のリストを作成およびメンテナンスする際に使用するプロシージャ、ファンクションおよび例外が含まれています。これらのサービスを使用して、PL/SQLバージョン1で配列を作成することができます。


OLE2パッケージについて

  関連項目 	  すべてのビルトイン

OLE2パッケージによりOLE2オートメーション・オブジェクトの属性の作成、処理、アクセスを実行するPL/SQLアプリケーション・プログラム・インターフェース（API）が提供されます。

OLE2オートメーション・オブジェクトには、OLE2オートメーション・クライアントから操作または起動が可能な一連の属性とメソッドがカプセル化されています。OLE2パッケージを利用すれば、PL/SQLからOLE2オートメーション・サーバーへ直接アクセスできます。

オブジェクト・タイプおよびメソッド、構文指定の詳細は、各OLE2オートメーション・サーバーのOLE2プログラマ用マニュアルを参照してください。


ORA_FFIパッケージについて

  関連項目 	  すべてのビルトイン

ORA_FFIパッケージにより、動的ライブラリのC関数を起動する外部ファンクション・インタフェースが提供されます。

浮動小数点数引数は倍精度に変換する必要があることに注意してください。ANSI宣言を使用する必要がある場合は、コード内では倍精度浮動小数点数のみを使用します。


ORA_NLSパッケージについて

  関連項目 	  すべてのビルトイン

ORA_NLSパッケージを使用すると、現行の言語環境に関する高水準の情報を抽出できます。抽出した情報を利用して言語の属性を調べ、ローカルな日付および数値の書式が使用できるようにアプリケーションをカスタマイズすることができます。また、キャラクタ・セットの照合および一般キャラクタ・セットに関する詳細情報も取得できます。

また、現行の言語およびキャラクタ・セットの名前の取出しに必要な機能も用意されているので、特例をテストし利用するためのアプリケーションを作成できます。


ORA_NLS文字定数

  関連項目

現行言語の文字情報を検索するには次の定数を使います。定数はすべてPLS_INTEGER型で、各定数に整数値が割り当てられています。

名前	説明	整数	値
day1	第1日の正式名称	1	日曜日
day2	第2日の正式名称	2	月曜日
day3	第3日の正式名称	3	火曜日
day4	第4日の正式名称	4	水曜日
day5	第5日の正式名称	5	木曜日
day6	第6日の正式名称	6	金曜日
day7	第7日の正式名称	7	土曜日
day1_abbr	第1日の略称	8	日
day2_abbr	第2日の略称	9	月
day3_abbr	第3日の略称	10	火
day4_abbr	第4日の略称	11	水
day5_abbr	第5日の略称	12	木
day6_abbr	第6日の略称	13	金
day7_abbr	第7日の略称	14	土
mon1	第1月の正式名称	15	1月
mon2	第2月の正式名称	16	2月
mon3	第3月の正式名称	17	3月
mon4	第4月の正式名称	18	4月
mon5	第5月の正式名称	19	5月
mon6	第6月の正式名称	20	6月
mon7	第7月の正式名称	21	7月
mon8	第8月の正式名称	22	8月
mon9	第9月の正式名称	23	9月
mon10	第10月の正式名称	24	10月
mon11	第11月の正式名称	25	11月
mon12	第12月の正式名称	26	12月
mon1_abbr	第1月の略称	27	JAN
mon2_abbr	第2月の略称	28	FEB
mon3_abbr	第3月の略称	29	MAR
mon4_abbr	第4月の略称	30	APR
mon5_abbr	第5月の略称	31	MAY
mon6_abbr	第6月の略称	32	JUN
mon7_abbr	第7月の略称	33	JUL
mon8_abbr	第8月の略称	34	AUG
mon9_abbr	第9月の略称	35	SEP
mon10_abbr	第10月の略称	36	OCT
mon11_abbr	第11月の略称	37	NOV
mon12_abbr	第12月の略称	38	DEC
yes_str	問合せに対する肯定応答	39	yes
no_str	問合せに対する否定応答	40	no
am_str	AMのローカル等価	41	午前
pm_str	PMのローカル等価	42	午後
ad_str	ADのローカル等価	43	西暦
bc_str	BCのローカル等価	44	紀元前
decimal	10進文字	45	.
groupsep	グループ・セパレータ	46	,
int_currency	通貨記号	47	JPY
local_currency	各国通貨記号	48	\
local_date_fmt	ローカル日付書式	49	%Y年%m月%d日
local_time_fmt	ローカル時間書式	50	%H時%M分
default_date_fmt	Oracleのデフォルトの日付書式	51	YY-MM-DD
default_time_fmt	Oracleのデフォルトの時間書式	52	HH24:MI:SS
language	言語名	53	JAPANESE
language_abbr	ISO言語名略称	54	JA
character_set	デフォルトのキャラクタ・セット名	55	JA16EUC
territory	デフォルトの地域名	56	JAPAN
current_decimal	現行の小数点文字	57	.
current_groupsep	現行のグループ・セパレータ	58	,
current_currency	現行のローカル通貨記号	59	\
current_date_fmt	現行のOracle日付書式	60	YY-MM-DD
current_language	現行の言語	70
current_territory	現行の地域	61	JAPAN
current_character_set	現行のキャラクタ・セット	62	JA16SJIS


ORA_NLS数値定数

  関連項目

現行言語の数値情報を検索するには、次の定数を使います。定数はすべてPLS_INTEGER型で、各定数に整数値が割り当てられています。

名前	説明	整数
decimal_places	通貨の小数点位置	63
sign_placement	符号の位置: 0=前、1=後	64
initcap_month	月名の頭文字を大文字にする: 0=NO、1=YES	65
initcap_day	曜日名の頭文字を大文字にする: 0=NO、1=YES	66
week_start	週の最初の日: 0=日曜日	67
week_num_calc	週数の計算: 1=ISO、 0=非ISO	68
iso_alphabet	現行のISOアルファベット番号	69


ORA_PROFパッケージについて

  関連項目 	  すべてのビルトイン

ORA_PROFパッケージには、PL/SQLプログラム単位の調整時に使用するプロシージャ、ファンクションおよび例外が含まれています。このパッケージのサービスを使用して、作成したコードの実行にかかる時間を追跡することができます。


TEXT_IOパッケージについて

  関連項目 	  すべてのビルトイン

TEXT_IOパッケージには、ファイル情報の読込みおよび書込みに必要な構成体が含まれています。TEXT_IOで使用可能なプロシージャおよびファンクションは、次のカテゴリに分けられます。

ファイル操作	FILE_TYPEタイプ、FOPENおよびIS_OPENファンクション、FCLOSEプロシージャを使用すると、それぞれ、FILE_TYPE変数の定義、ファイルのオープン、オープンしたファイルのチェック、ファイルのクローズができます。
出力（書込み）操作	PUT、PUTF、PUT_LINEおよびNEW_LINEプロシージャを使用すると、オープン・ファイルへの情報の書込みまたはインタプリタへの情報の出力ができます。
出力（読込み）操作	GET_LINEプロシージャを使用すると、オープン・ファイルから1行読み込むことができます。


TEXT_IO構成体の使い方の例

  関連項目

ファイルの内容にエコーをかけるプロシージャの例を次に示します。このプロシージャでは、TEXT_IO構成体のコールが数回行われている点に注意してください。

PROCEDURE echo_file_contents IS
  in_file   Text_IO.File_Type;
  linebuf   VARCHAR2(1800);
  filename  VARCHAR2(30);
BEGIN
  filename:=GET_FILE_NAME('c:\temp\', File_Filter=>'Text Files (*.txt)|*.txt|');
  in_file := Text_IO.Fopen(filename, 'r');
  LOOP
    Text_IO.Get_Line(in_file, linebuf);
    :text_item5:=:text_item5||linebuf||chr(10);
    --Text_IO.New_Line;
  END LOOP;
EXCEPTION
  WHEN no_data_found THEN
    Text_IO.Put_Line('Closing the file...');
    Text_IO.Fclose(in_file);
END;


TOOL_ENVパッケージについて

  関連項目 	  すべてのビルトイン

TOOL_ENVパッケージを使用すると、サブプログラムで使用する値を検索してOracle環境変数と対話できます。


TOOL_ERRパッケージについて

  関連項目 	  すべてのビルトイン

例外を使用してエラーを知らせるだけでなく、詳細なエラー情報を提供するビルトイン・パッケージ（DEBUGパッケージなど）もあります。この情報は"エラー・スタック"の形式で保管されます。

エラー・スタックには、詳細なエラー・コードおよびそれに関係付けられたエラー・メッセージが含まれています。スタック上のエラーには0（最も古い）からn-1（最も新しい）の順に索引が付いています。ここでnは現在スタックにあるエラーの総数です。TOOL_ERRパッケージで提供されるサービスを使用して、エラー・スタックへアクセスし、操作することができます。


TOOL_ERR構成体の使い方の例

  関連項目

次のプロシージャでは、Debug.Interpretビルトイン・パッケージが生成したエラーをTOOL_ERRパッケージの構成体を使用して処理する方法を示します。

PROCEDURE error_handler IS
/* Call a built-in that interprets a command */
BEGIN
  Debug.Interpret('.ATTACH LIB LIB1');
EXCEPTION
/*
** Check for a specific error code, print the
** message, then discard the error from the stack
** If the error does not match, then raise it.
*/
  WHEN OTHERS THEN
    IF Tool_Err.Code = Tool_Err.Encode('DEPLI',18) THEN
      Text_IO.Put_Line(Tool_Err.Message);
      Tool_Err.Pop;
    ELSE
      RAISE;
    END IF;
END;

例外処理コードがTOOL_ERR構成体を使用しなかった場合、エラー警告が出され、メッセージ「PDE-PLI018:ライブラリLIB1が見つかりません」が表示されます。TOOL_ERR構成体を使用すると、エラーが捕捉され、インタプリタにメッセージが送られます。


TOOL_RESパッケージについて

  関連項目 	  すべてのビルトイン

TOOL_RESパッケージを使用すると、リソース・ファイルから文字列リソースを抽出できます。これは、リソース・ファイルからすべての文字列データを切り離すことで、言語間でのPL/SQLコードの移植を簡単に行うためです。


リソース・ファイルの作成

  関連項目

既存のリソース・ファイルから文字列データを抽出することも、次のユーティリティを使用して文字列データが入っているリソース・ファイルを作成することもできます。

RESPA60	テキスト・ファイル（.PRN）からリソース・ファイル（.RES）を生成するためのユーティリティです。生成したリソース・ファイルは、Tool_RESパッケージで使用できます。
RESPR60	リソース・ファイル（.RES）をテキスト・ファイル（.PRN）に変換するためのユーティリティです。
これらのユーティリティは、Oracle Terminalに付属しており、この製品のインストール時に自動的に組み込まれます。使用しているプラットフォームで、これらのユーティリティのコマンド・ライン構文を表示するには、引数を指定しないでユーティリティを実行します。

Microsoft Windowsでは、エクスプローラまたはファイル マネージャからこれらの実行プログラムを起動し、コマンド・ライン構文を表示できます。引数付きで実行プログラムを実行するには、「ファイル名を指定して実行」を使います。

リソース・ファイルの構文	リソース・ファイルに必要な文字列を作成する場合には、次の構文を使います。

Resource	resource_name"
Type	string"
Content
 table
 {
  string string 1 character_count
  "content of string"
 }

パラメータの内容は次のとおりです。

resource_name	Tool_Res.Rfreadで参照できる一意の名前。
character_count	文字列の文字数。
content of string	実際の文字列。
例	次のテキスト・ファイルHELLO.PRNは、RESPA60ユーティリティを使用してリソース・ファイルHELLO.RES内に生成されます。

Resource "hello_world"
Type "string"
Content
 table
 {
  string string 1 12
  "Hello World!"
 }

Resource "goodbye_world"
Type "string"
Content
 table
 {
  string string 1 14
  "Goodbye World!"
 }

このテキスト・ファイルは次のプログラム単位で参照されます。

PROCEDURE get_res IS
  resfileh Tool_Res.Rfhandle;
  hellor   VARCHAR2(16);
  goodbyer VARCHAR2(16);
BEGIN
/*Open the resource file we generated */
  resfileh:=Tool_Res.Rfopen('hello.res');

/*Get the resource file strings*/
  hellor:=Tool_Res.Rfread(resfileh, 'hello_world');
  goodbyer:=Tool_Res.Rfread(resfileh, 'goodbye_world');

/*Close the resource file*/
  Tool_Res.Rfclose(resfileh);

/*Print the resource file strings*/
  Text_IO.Put_Line(hellor);
  Text_IO.Put_Line(goodbyer);
END;


EXEC_SQLパッケージについて

  関連項目 	  すべてのビルトイン

EXEC_SQLパッケージを使用すると、いくつかの異なる接続を同時に使用して、複数のOracleデータベース・サーバーにアクセスできます。また、Oracle Developerに同梱されるOpen Client Adapter(OCA)を使用して、ODBCデータ・ソースに接続することもできます。Oracle以外のデータ・ソースにアクセスするには、OCAと適切なODBCドライバをインストールする必要があります。

EXEC_SQLパッケージには、PL/SQLプロシージャの中で動的SQLを実行するためのプロシージャとファンクションが含まれています。DBMS_SQLパッケージと同様に、SQL文は実行時にソース・プログラムのみに渡されるか、またはソース・プログラムによってビルドされる文字列に格納されます。EXEC_SQLパッケージを使用すると、あらゆるデータ操作言語（DML）やデータ定義言語（DDL）文を発行できます。

EXEC_SQLパッケージは、次のような点でDMBS_SQLパッケージと異なります。

•	アドレスによるバインドではなく、値によるバインドを使用する。

•	OUTバインド・パラメータの値を取り出すためにEXEC_SQL.Variable_Valueを使用する必要がある。

•	結果セットの値を取り出すために、行をフェッチした後でEXEC_SQL.Column_Valueを使用する必要がある。

•	CHAR、RAW、LONG、ROWIDのデータをサポートしていない。

•	CANCEL_CURSORプロシージャまたはファンクションが用意されていない。

•	配列インタフェースをサポートしていない。

•	PL/SQL変数の値としてNULLがサポートされているため、標識変数が必要ない。

•	PL/SQL表またはレコード・タイプをサポートしていない。

DBMS_SQLパッケージの詳細は、『Oracle8アプリケーション開発者ガイド』を参照してください。


接続ハンドルとカーソル・ハンドル

  関連項目

Oracle Developerアプリケーションでは、1つ以上のデータベースに対して同時に複数の接続を確立できます。ただし、その中には必ずプライマリ・データベース接続が1つあり、これをプライマリOracle Developer接続と呼びます。

ハンドルは、Oracle DeveloperアプリケーションでOracle接続またはODBC接続を参照するときに使います。プライマリ・データベースまたはその他のデータベースへの接続をオープンすると、タイプEXEC_SQL.ConnTypeの接続ハンドルが作成され、接続の参照に使用されます。各接続ハンドルが、1つのデータベース接続を表します。

接続ハンドルでカーソルをオープンすると、タイプEXEC_SQL.CursTypeのカーソル・ハンドルが作成され、その接続のカーソルの参照に使用されます。各接続ハンドルは、複数のカーソル・ハンドルを持つことができます。

接続とカーソルをオープンすると、データにアクセスできるようになります。複数の接続を同時にオープンした場合は、特定のハンドルを引数としてEXEC_SQLルーチンに明示的に入れることをお薦めします。

プライマリOracle Developer接続からのみデータにアクセスする場合は、EXEC_SQLルーチンで接続を指定する必要はありません。EXEC_SQLルーチンにハンドルが指定されていないと、EXEC_SQL.Default_Connectionが自動的に呼び出されて、プライマリOracle Developer接続を取得します。


問合せまたはOracle以外のストアド・プロシージャからの結果セットの取出し

  関連項目

EXEC_SQLパッケージは、別のOracleデータ・ソースやODBCデータ・ソースから1つのフォームやレポートに結果セットを取り出す必要があるときに、特に役立ちます。

結果セットを返す文を処理するには:

1	列ごとにEXEC_SQL.Define_Columnを使用して、値を受け取るための変数を指定します。

2	EXEC_SQL.Executeを呼び出して文を実行します。

3	EXEC_SQL.Fetch_Rowsを使用して、結果セットの行を取り出します。

4	EXEC_SQL.Column_Valueを使用して、EXEC_SQL.Fetch_Rowsによって取り出された各列の値を取得します。

5	EXEC_SQL.Fetch_Rowsが0を返すまで、ステップ3と4を繰り返します。


EXEC_SQLの定義済みの例外

  関連項目

EXEC_SQL.Invalid_Connection	無効な接続ハンドルが渡されました。
EXEC_SQL.Package_Error	一般エラーです。EXEC_SQL.Last_Error_CodeとEXEC_SQL.Last_Error_Mesgを使用してエラーを取り出してください。
EXEC_SQL.Invalid_Column_Number	EXEC_SQL.Describe_Columnプロシージャが、結果セットに存在しない列番号を検出しました。
EXEC_SQL.Value_Error	EXEC_SQL.Column_Valueが、EXEC_SQL.Define_Columnによって取り出された元の値と異なる値を検出しました。


EXEC_SQLパッケージの使い方

  関連項目

接続に対する任意のSQLの実行

2つのデータベース間でのデータのコピー

Oracle以外のデータベースのストアド・プロシージャの実行およびその結果セットのフェッチ


接続に対する任意のSQLの実行

  関連項目

次のプロシージャは、SQL文と、'ユーザー[/パスワード][@データ・ソース]'形式のオプションの接続文字列を渡します。接続文字列が渡された場合、プロシージャはデータ・ソースに対してSQL文を実行します。それ以外の場合は、プライマリOracle Developer接続に対してSQL文をインプリメントします。

PROCEDURE exec (sql_string IN VARCHAR2,   connection_string IN VARCHAR2 DEFAULT NULL) IS   connection_id EXEC_SQL.ConnType;   cursor_number EXEC_SQL.CursType;   ret           PLS_INTEGER; BEGIN IF connection_string IS NULL THEN   connection_id := EXEC_SQL.DEFAULT_CONNECTION; ELSE   connection_id :=    EXEC_SQL.OPEN_CONNECTION(connection_string) END IF; cursor_number :=    EXEC_SQL.OPEN_CURSOR(connection_id); EXEC_SQL.PARSE(connection_id, cursor_number, sql_string); ret := EXEC_SQL.EXECUTE(connection_id, cursor_number); EXEC_SQL.CLOSE_CURSOR(connection_id, cursor_number); EXEC_SQL.CLOSE_CONNECTION(connection_id); EXCEPTION   WHEN EXEC_SQL.PACKAGE_ERROR THEN     TEXT_IO.PUT_LINE('ERROR (' ||       TO_CHAR(EXEC_SQL.LAST_ERROR_CODE        (connection_id)) || '):' ||       EXEC_SQL.LAST_ERROR_MESG(connection_id));     IF EXEC_SQL.IS_CONNECTED(connection_id) THEN       IF EXEC_SQL.IS_OPEN(connection_id,         cursor_number) THEN         EXEC_SQL.CLOSE_CURSOR(connection_id,          cursor_number);       END IF;       EXEC_SQL.CLOSE_CONNECTION(connection_id);     END IF;  END;	-- Open a new connection.If the connection string is empty, assume the user wants to use the primary Oracle Developer connection. -- Open a cursor on the connection for executing the SQL statement. -- Parse the SQL statement on the given connection. -- And execute it.If the connection is Oracle, any DDL is done at parse time, but if the connection is a non-Oracle data source, this is not guaranteed. -- Close the cursor. -- And we are done with the connection.The connection_id we have may come from calling EXEC_SQL.OPEN_CONNECTION or EXEC_SQL.DEFAULT_CONNECTION.egardless, we should call  EXEC_SQL.CLOSE_CONNECTION.If the connection_id was obtained by EXEC_SQL.OPEN_CONNECTION, EXEC_SQL.CLOSE_CONNECTION will terminate that connection.If the connection_id was obtained by EXEC_SQL.DEFAULT_CONNECTION, EXEC_SQL.CLOSE_CONNECTION will NOT terminate that connection, but it frees up EXEC_SQL package specific resources. -- This is the general error raised by the EXEC_SQL package, and denotes an unexpected error in one of the calls.It prints the error number and error message to standard out.


2つのデータベース間でのデータのコピー

  関連項目

次のプロシージャでは動的SQLを特に使用する必要はありませんが、EXEC_SQLパッケージの概念を示しています。

このプロシージャは、ソース表（ソース接続）からコピー先表（コピー先接続）に行をコピーします。ここでは、ソース表とコピー先表に次の列があると想定します。

ID of type NUMBER
NAME of type VARCHAR2(30)
BIRTHDATE of type DATE

PROCEDURE copy (source_table IN VARCHAR2,   destination_table IN VARCHAR2,   source_connection IN VARCHAR2 DEFAULT NULL,   destination_connection IN VARCHAR2 DEFAULT NULL) IS   id                 NUMBER;   name               VARCHAR2(30);   birthdate          DATE;   source_connid      EXEC_SQL.ConnType;   destination_connid EXEC_SQL.ConnType;   source_cursor      EXEC_SQL.CursType;   destination_cursor EXEC_SQL.CursType;   ignore             PLS_INTEGER BEGIN   IF source_connection IS NULL THEN     source_connid := EXEC_SQL.DEFAULT_CONNECTION;   ELSE     source_connid :=        EXEC_SQL.OPEN_CONNECTION(source_connection);   END IF;   IF destination_connection IS NULL THEN     destination_connid := EXEC_SQL.CURR_CONNECTION;   ELSE     destination_connid :=        EXEC_SQL.OPEN_CONNECTION(destination_connection);   END IF;   source_cursor := EXEC_SQL.OPEN_CURSOR(source_connid);   EXEC_SQL.PARSE(source_connid, source_cursor,     'SELECT id, name, birthdate FROM ' || source_table);   EXEC_SQL.DEFINE_COLUMN(source_connid, source_cursor, 1,      id);   EXEC_SQL.DEFINE_COLUMN(source_connid, source_cursor, 2,      name, 30);   EXEC_SQL.DEFINE_COLUMN(source_connid, source_cursor, 3,      birthdate);   ignore := EXEC_SQL.EXECUTE(source_connid, source_cursor);    destination_cursor :=      EXEC_SQL.OPEN_CURSOR(destination_connid);   EXEC_SQL.PARSE(destination_connid, destination_cursor,      'INSERT INTO ' || destination_table || '      (id, name, birthdate) VALUES (:id, :name, :birthdate)');   LOOP     IF EXEC_SQL.FETCH_ROWS(source_connid, source_cursor) > 0     THEN       EXEC_SQL.COLUMN_VALUE(source_connid, source_cursor,          1, id);       EXEC_SQL.COLUMN_VALUE(source_connid, source_cursor,          2, name);       EXEC_SQL.COLUMN_VALUE(source_connid, source_cursor,          3, birthdate);       EXEC_SQL.BIND_VARIABLE(destination_connid,         destination_cursor, ':id', id);       EXEC_SQL.BIND_VARIABLE(destination_connid,         destination_cursor, ':name', name);       EXEC_SQL.BIND_VARIABLE(destination_connid,         destination_cursor, ':birthdate', birthdate);       ignore := EXEC_SQL.EXECUTE(destination_connid,         destination_cursor);     ELSE       EXIT;     END IF;   END LOOP;   EXEC_SQL.PARSE(destination_connid, destination_cursor,      'commit');   ignore := EXEC_SQL.EXECUTE(destination_connid,     destination_cursor);   EXEC_SQL.CLOSE_CURSOR(destination_connid,     destination_cursor);   EXEC_SQL.CLOSE_CURSOR(source_connid, source_cursor);   EXEC_SQL.CLOSE_CONNECTION(destination_connid);   EXEC_SQL.CLOSE_CONNECTION(source_connid); EXCEPTION   WHEN EXEC_SQL.PACKAGE_ERROR THEN     IF EXEC_SQL.LAST_ERROR_CODE(source_connid) != 0 THEN       TEXT_IO.PUT_LINE('ERROR (source: ' ||          TO_CHAR(EXEC_SQL.LAST_ERROR_CODE(source_connid))         || '): ' ||         EXEC_SQL.LAST_ERROR_MESG(source_connid));     END IF;     IF EXEC_SQL.LAST_ERROR_CODE(destination_connid) != 0 THEN       TEXT_IO.PUT_LINE('ERROR (destination: ' ||         TO_CHAR(EXEC_SQL.LAST_ERROR_CODE(destination_connid))         || '): ' ||         EXEC_SQL.LAST_ERROR_MESG(destination_connid));     END IF;     IF EXEC_SQL.IS_CONNECTED(destination_connid) THEN       IF EXEC_SQL.IS_OPEN(destination_connid,         destination_cursor) THEN         EXEC_SQL.CLOSE_CURSOR(destination_connid,           destination_cursor);       END IF;       EXEC_SQL.CLOSE_CONNECTION(destination_connid);     END IF;      IF EXEC_SQL.IS_CONNECTED(source_connid) THEN       IF EXEC_SQL.IS_OPEN(source_connid, source_cursor) THEN         EXEC_SQL.CLOSE_CURSOR(source_connid, source_cursor);       END IF;       EXEC_SQL.CLOSE_CONNECTION(source_connid);     END IF;  END;	-- Open the connections.If the user does not specify a secondary connection, the primary  Oracle Developer connection is used. -- Prepare a cursor to select from the source table. -- Prepare a cursor to insert into the destination table. -- Fetch a row from the source table, and insert it into the destination table. -- Get column values for the row; these are stored as local variables.  -- Bind the values into the cursor that inserts into the destination table.  -- No more rows to copy. -- Commit the destination cursor. -- And close everything. -- This is the general error raised by the EXEC_SQL package.Get information (error number and message) about the error on the source connection or the destination connection. -- Close all connections and cursors.


Oracle以外のデータベースのストアド・プロシージャの実行およびその結果セットのフェッチ

  関連項目

次のプロシージャは、結果セットを返すMicrosoft SQL Serverのストアド・プロシージャを実行し、その結果セットをフェッチします。ストアド・プロシージャは次のとおりです。

create proc example_proc @id integer as
  select ename from emp where empno = @id

このプロシージャは、プライマリOracle Developer接続（それがSQL Serverの接続であると想定して）でストアド・プロシージャを実行し、返されるすべての行を出力します。また、ここではプロシージャ例3の実行前に、プライマリOracle Developer接続がすでにオープンされていると想定します。さもないと、エラーが発生します。

CREATE PROCEDURE example3 (v_id IN NUMBER) IS   v_ename VARCHAR2(20);   v_cur EXEC_SQL.CursType;   v_rows INTEGER; BEGIN   v_cur := EXEC_SQL.OPEN_CURSOR;   EXEC_SQL.PARSE(v_cur, '{ call example_proc ( :v_id ) }');   EXEC_SQL.BIND_VARIABLE(v_cur, ':v_id', v_id);   EXEC_SQL.DEFINE_COLUMN(v_curs, 1, v_ename, 20);   v_rows := EXEC_SQL.EXECUTE(v_curs);   WHILE EXEC_SQL.FETCH_ROWS(v_curs) > 0 LOOP     EXEC_SQL.COLUMN_VALUE(v_curs, 1, v_ename);     TEXT_IO.PUT_LINE('Ename = ' || v_ename);   END LOOP;   EXEC_SQL.CLOSE_CURSOR(v_cur);   EXCEPTION     WHEN EXEC_SQL.PACKAGE_ERROR THEN       TEXT_IO.PUT_LINE('ERROR (' ||         TO_CHAR(EXEC_SQL.LAST_ERROR_CODE)         || '): ' ||         EXEC_SQL.LAST_ERROR_MESG);       EXEC_SQL.CLOSE_CURSOR(v_cur);     WHEN EXEC_SQL.INVALID_CONNECTION THEN       TEXT_IO.PUT_LINE('ERROR: Not currently connected         to a database'); END example3;	-- When no connection handle is passed, EXEC_SQL uses the primary Oracle Developer  connection. -- To call stored procedures against ODBC datasources, use ODBC syntax, but parameters should be specified as Oracle parameters. -- The exception INVALID_CONNECTION is raised when there is no default connection.


パッケージ・サブプログラムのアルファベット順リスト

DDE.App_Begin

DDE.App_End

DDE.App_Focus

DDE.DMLERR_Not_Supported

DDE.Execute

DDE.Getformatnum

DDE.Getformatstr

DDE.Initiate

DDE.IsSupported

DDE.Poke

DDE.Request

DDE.Terminate

Debug.Break

Debug.Getx

Debug.Interpret

Debug.Setx

Debug.Suspend

EXEC_SQL.Open_Connection

EXEC_SQL.Curr_Connection

EXEC_SQL.Default_Connection

EXEC_SQL.Open_Cursor

EXEC_SQL.Parse

EXEC_SQL.Describe_Column

EXEC_SQL.Bind_Variable

EXEC_SQL.Define_Column

EXEC_SQL.Execute

EXEC_SQL.Execute_And_Fetch

EXEC_SQL.Fetch_Rows

EXEC_SQL.More_Result_Sets

EXEC_SQL.Column_Value

EXEC_SQL.Variable_Value

EXEC_SQL.Is_Open

EXEC_SQL.Close_Cursor

EXEC_SQL.Is_Connected

EXEC_SQL.Is_OCA_Connection

EXEC_SQL.Close_Connection

EXEC_SQL.Last_Error_Position

EXEC_SQL.Last_Row_Count

EXEC_SQL.Last_SQL_Function_Code

EXEC_SQL.Last_Error_Code

EXEC_SQL.Last_Error_Mesg

List.Appenditem

List.Destroy

List.Deleteitem

List.Fail

List.Getitem

List.Insertitem

List.Listofchar

List.Make

List.Nitems

List.Prependitem

OLE2.Add_Arg

OLE2.Create_Arglist

OLE2.Destroy_Arglist

OLE2.Get_Char_Property

OLE2.Get_Num_Property

OLE2.Get_Obj_Property

OLE2.Invoke

OLE2.Invoke_Num

OLE2.Invoke_Char

OLE2.Invoke_Obj

OLE2.IsSupported

OLE2.List_Type

OLE2.Obj_Type

OLE2.OLE_Not_Supported

OLE2.Release_Obj

OLE2.Set_Property

Ora_FFI.Find_Function

Ora_FFI.Find_Library

Ora_FFI.Funchandletype

Ora_FFI.Generate_Foreign

Ora_FFI.Is_Null_Ptr

Ora_FFI.Libhandletype

Ora_FFI.Load_Library

Ora_FFI.Pointertype

Ora_FFI.Register_Function

Ora_FFI.Register_Parameter

Ora_FFI.Register_Return

Ora_NLS.American

Ora_NLS.American_Date

Ora_NLS.Bad_Attribute

Ora_NLS.Get_Lang_Scalar

Ora_NLS.Get_Lang_Str

Ora_NLS.Linguistic_Collate

Ora_NLS.Linguistic_Specials

Ora_NLS.Modified_Date_Fmt

Ora_NLS.No_Item

Ora_NLS.Not_Found

Ora_NLS.Right_to_Left

Ora_NLS.Simple_CS

Ora_NLS.Single_Byte

Ora_Prof.Bad_Timer

Ora_Prof.Create_Timer

Ora_Prof.Destroy_Timer

Ora_Prof.Elapsed_Time

Ora_Prof.Reset_Timer

Ora_Prof.Start_Timer

Ora_Prof.Stop_Timer

Text_IO.FClose

Text_IO.File_Type

Text_IO.Fopen

Text_IO.Is_Open

Text_IO.Get_Line

Text_IO.New_Line

Text_IO.Put

Text_IO.PutF

Text_IO.Put_Line

Tool_Env.Getvar

Tool_Err.Clear

Tool_Err.Code

Tool_Err.Encode

Tool_Err.Message

Tool_Err.Nerrors

Tool_Err.Pop

Tool_Err.Tool_Error

Tool_Err.Toperror

Tool_Res.Bad_File_Handle

Tool_Res.Buffer_Overflow

Tool_Res.File_Not_Found

Tool_Res.No_Resource

Tool_Res.Rfclose

Tool_Res.Rfhandle

Tool_Res.Rfopen

Tool_Res.Rfread


この文字から始まるパッケージ・サブプログラムはありません。


この文字から始まるOLE2パッケージ・サブプログラムはありません。


ヘルプの項目がありません。オンライン･ヘルプのキーワードで関連項目を確認してください。


用語集

英

    ActiveX
    Ada
    ASCII
    Bilder
    CGI
    CGM
    CHARデータ型（CHAR datatype）
    CMDFILE
    DATE
    Designer
    Designer(Oracle)
    DIANA
    EBCDIC
    Familyツール（Family tool）
    GUI
    HTML
    HTTP
    ICD
    IP（インターネット・プロトコル）アドレス（Internet Protocol）
    JAR
    Java
    NA値（NA value）
    NOCACHE
    NULL値（NULL value）
    ODBC
    OLE
    OLEコンテナ（OLE container）
    OLEサーバ（OLE Server）
    Oracle Designer
    ORACLE_HOME
    Oracleデータ型（Oracle datatype）
    Pcode
    PDF
    PL/SQL
    pldファイル（pld file）
    pllファイル（pll file）
    plsファイル（pls file）
    plxファイル（plx file）
    Project Wizard
    prtファイル（prt file）
    RC4
    RDBMS
    rdfファイル（rdf file）
    REF列（REF column）
    Reports Queue Manager（RWRQM60）
    Reports Server（RWMTS60）
    Reports Web Cartridge
    Reports Web CGI（RWCGI60）
    Reportsバックグラウンド・エンジン（Reports Background Engine）（RWRBE60）
    repファイル（rep file）
    rexファイル（rex file）
    RGB
    RTF
    SELECT文（SELECT statement）
    SQL
    SQLスクリプト（SQL script）
    sqlファイル（sql file）
    SQL文（SQL statement）
    SYLK
    TCP
    Top/Bottomツール（Top/Bottom tool）
    URL
    VBX
    VBXコントロール（VBX control）
    Web
    Web cartridge
    Webサーバー（Web server）
    Webブラウザ（Web browser）
    Webリンク（Web link）
    WKS
    WRB
    WWW
    XML
    zoom

数

あ

    アイコン（icon）
    アクション（action）
    アクティブ・ウィンドウ/ビュー（active window/view）
    値構成体（value construct）
    値軸（continuous axis）
    値軸（value axis）
    値のリスト（list of values）
    アプリケーション（application）
    アプレット（applet）
    アンカー（anchor）
    アンカー・ポイント（anchor point）
    暗号化（encyption）
    暗示項目（implied item）
    依存項目（decendant）
    依存性ツリー（dependency tree）
    依存性表示（dependency view）
    依存データ（dependent data）
    イメージ（image）
    インクローズ・オブジェクト（enclosing object）
    インターネット（internet）
    インタプリタ・スクリプト（interpreter script）
    イントラネット（intranet）
    インポート（import）
    ウィンドウ（window）
    内側枠ボックス（inner bounding box）
    エクスポート（export）
    エクスポート・ファイル（export file）
    エディタ（editor）
    オーバーフロー（overflow）
    オブジェクト（object）
    オブジェクト・グループ（object group）
    オブジェクト・タイプ（object type）
    オブジェクト・ナビゲータ（Object Navigator）
    オブジェクト・ハンドル（object handle）
    オブジェクト表（object table）
    オブジェクト列（object column）
    親（parent）

か

    カーソル（cursor）
    カートリッジ（cartridge）
    階層（hierarchy）
    外部PL/SQLライブラリ（external PL/SQL library）
    外部キー（foreign key）
    外部問合せ（external query）
    可視属性（visual attribute）
    カスケード・スタイル・シート（cascading style sheet）
    カスタム基準（custom measure）
    仮想ディレクトリ（virtual directory）
    仮想ファイル・システム（virtual file system）
    カット（cut）
    カテゴリ（category）
    カテゴリ軸（category axis）
    可変配列（varying array）type
    カラー・パレット（color palette）
    環境（environment）
    関係演算子（relational operator）
    キーワード（keyword）
    基準（measure）
    基本形（primitive）
    基本線の値（baseline value）
    キャッシュ（メモリー）（cache （memory））
    キャンバス（canvas）
    キャンバス・ビュー（canvas view）
    行（row）
    行オブジェクト（row object）
    境界線/塗り/テキスト表示（Edge/Fill/Text Display）
    境界線（border）
    切離しメニュー（tear-off menu）
    句（clause）
    クライアント（client）
    クライアント/サーバー・アーキテクチャ（client/server architecture）
    繰返し枠（repeating frame）
    クリップボード（Clipboard）
    グループ（group）
    グループ・ツリー（group tree）
    グループ・フィルタ（group filter）
    グローバル変数（global variable）
    グローバル・レジストリ（Global Registry）
    クロス積（cross product）
    クロス・タブ（crosstab）
    警告（alert）
    計算式列（formula column）
    継承（inherit）
    結合（join）
    限定モード（confie mode）
    原点（origin）
    子（child）
    格子表示（gridlines）
    更新（update）
    構成体（construct）
    構文（syntax）
    項目（item）
    項目軸（discrete axis）
    項目ノード（item node）
    コール・インタフェース（call interface）
    コール・スタック（call stack）
    子問合せ（child query）
    コピー（copy）
    コマンド行（command line）
    コミット（commit）
    コメント（comment）
    コレクション・タイプ（collection type）
    コンテキスト領域（context area）
    コンパイル（compile）
    コンポーネント（component）

さ

    作業環境（preference）
    索引（index）
    座標（x, y）（coordinates）
    座標系（coordinate system）
    座標平面（coordinate plane）
    サブプログラム（subprogram）
    サブプロジェクト（subproject）
    サブプロジェクト・ノード（subproject node）
    サマリー列（summary column）
    参照線（reference line）
    式（expression）
    式（formula）
    字句参照（lexical reference）
    軸チャート（aixs chart）
    システム変数（system variable）
    下に伸びる（downward-growing）
    実行（execute）
    実行（run）
    実行時（Runtime）
    実行ファイル（runfile）
    実行プログラム引数（executable argument）
    修飾ディメンション（qualifying dimension）
    十分に構成されたXML（well-formed XML）
    集約（aggregation）
    終了（quit）
    主キー（primary key）
    仕様（specification）
    上位項目（antecedent）
    使用可能（enabled）
    使用禁止（disabled）
    条件（condition）
    省略記号ボタン（Ellipsis button）
    書式マスク（format mask）
    数値演算子（numeric operators）
    スキーマ（schema）
    スクリプト（script）
    スコープ（scope）
    スタイル・シート（style sheet）
    スタック（stack）
    ストアド・サブプログラム（stored subprogram）
    ストアド・プログラム単位（stored program unit）
    すべてのツール（All tool）
    制御ポイント（control point）
    生成（Generate）
    生成（generate）
    静的な選択済み保存項目（static saved selection）
    制約（constraint）
    セクション（section）
    セッション（session）
    接続（connect）
    接続文字列（connect string）
    セル（cell）
    セレクタ（selector）
    セレクタ・ツール（Selector tool）
    選択項目（selection）
    選択項目のスクリプト（selection script）
    相関副問合せ（correlated subquery）
    挿入モード（insert mode）
    ソース（source）
    ソート・ツール（Sort tool）
    属性（attriute）
    属性値（attribute value）
    属性ツール（Attribute tool）
    属性マスク（attribute mask）
    属性列（attribute columns）
    ソケット（socket）
    祖先（ancestor）
    祖先グループ（ancestor group）
    外側枠ボックス（outer bounding box）

た

    ターゲット（target）
    ターゲット・ノード（target node）
    ダイアログ・ボックス（dialog box）
    タイトルバー（title bar）
    タイトル・ページ（title page）
    タイプ（type）
    チェックサム（checksum）
    チェックボックス（check box）
    置換モード（replace mode）
    チャート項目（chart item）
    チャート・テンプレート（chart template）
    チャート要素（chart element）
    ツール（tool）
    ツールバー（toolbar）
    ツール・パレット（tool palette）
    定義済みアクション（pre-defined action）
    定義済みタイプ（pre-defined type）
    ディテール問合せ（detail query）
    ディメンション（dimension）
    ディメンション階層（dimension hierarchy）
    ディメンション値（dimension value）
    データ型（datatype）
    データ構造ノード（data structure node）
    データソース（datasource）
    データ・ディクショナリ（data dictionary）
    データベース（database）
    データベース・トリガー（database trigger）
    データ・モデル（data model）
    データ・リンク（data link）
    テキスト項目（text item）
    デバッガ（debugger）
    デバッグ（debug）
    デバッグ・アクション（debug action）
    デバッグ・トリガー（debug trigger）
    デフォルト（default）
    問合せ（query）
    問合せフィルタ・ファンクション（query filter function）
    同位項目（sibling）
    動的な保存済み選択項目（dynamic saved selection）
    登録（register）
    独立ﾃﾞｰﾀ（independent data）
    トグル（toggle）
    ドラッグ（drag）
    トランザクション（transaction）
    トリガー（trigger）
    ドリル（drill）
    トレーラ（trailer）

な

    入力項目（input item）
    塗り領域（fill area）
    ネストされたマトリックス（nested matrix）
    ノード（node）

は

    配置（alignment）
    ハイパー・テキスト（hypertext）
    ハイパーリンク（hyperlink）
    配布（deliver）
    バインド参照（bind reference）
    バインド変数（bind variable）
    破損（damage）
    パターン（pattern）
    バックグラウンド処理（background process）
    バックグラウンド要素（background element）
    パッケージ（package）
    パッケージ仕様部（package specification）
    パッケージ・ファンクション（package function）
    パッケージ本体（package body）
    バッチ（Batch）
    バッチ・コンパイル（batch compile）
    バッファ（buffer）
    パネル（panel）
    パラメータ（parameter）
    パラメータ・リスト（parameter list）
    パレット（palette）
    範囲ツール（Range tool）
    ハンドル（handle）
    比較演算子（comparison operators）
    引数（argument）
    非キャッシュ列（non-caching column）
    日付軸（date axis）
    非表示（hidden）
    ビュー（view）
    表（table）
    表形式（tabular）
    表示（display）
    表示形式（plot type）
    表示項目（display item）
    表タイプ（table type）
    ビルトイン（built-ins）
    ビルトイン・データ型（built-in datatype）
    ビルトイン・マクロ（built-in macro）
    ファイアウォール（firewall）
    ファイル・ノード（file node）
    ファミリ（family）
    ファンクション（function）
    フィールド（field）
    フィールド・テンプレート（field template）
    フィルタ（filter）
    フォアグラウンド要素（foregrond element）
    フォーカス（focus）
    フォーマット・トリガー（format trigger）
    フォーム・レイアウト（form layout）
    フォーム・レター・レイアウト（form letter layout）
    複数行フィールド（multi-line field）
    複製（duplicate）
    物理ページ（physical page）
    付与（grant）
    フラット化オブジェクト（flattened object）
    プリンタ制御コード（printer control code）
    ブレーク・グループ（break group）
    ブレーク・チャート（break chart）
    ブレーク・トリガー（break trigger）
    ブレーク・ポイント（breakpoint）
    ブレーク列（break column）
    ブレーク・レポート（break report）
    プレースホルダー・ユーザー名（placeholder username）
    フレックス・モード（flex mode）
    プレビュー（preview）
    プレビューア（Previewer）
    プログラム単位（program unit）
    プロシージャ（procedure）
    プロジェクト（project）
    プロジェクト項目（project item）
    プロジェクト・ナビゲータ（Project Navigator）
    プロジェクト・ノード（project node）
    プロジェクト表示（project view）
    プロジェクト・ファイル（project file）
    プロジェクト・レジストリ（project registry）
    ブロック（block）
    プロトコル（protocol）
    プロパティ（property）
    プロパティ・クラス（property class）
    文（statement）
    分解オブジェクト（deconstructed object）
    分割バー（split bar）
    分類（classification）
    並行性（concurrency）
    ペイン（pane）
    ページ（page）
    ページ・ブレーク（page break）
    ペースト（paste）
    ヘッダー（header）
    ヘッダー・ノード（heading node）
    別名(alias)
    変数（variable）
    編成ノード（organization node）
    ボイラープレート（boilerplate）
    ポート（port）
    保存済み選択項目（saved selection）
    保存済み選択項目ツール（Saved Selection tool）
    ボタン（button）
    ボタン・プロシージャ（button procedure）
    ポップアップ・リスト（pop-up list）
    ボディ（body）

ま

    マージン（margin）
    マクロ（macro）
    マスター/ディテール・レイアウト（master/detail layout）
    マッチング・ツール（Match tool）
    マトリックス・セル（matrix cell）
    マトリックス・レイアウト（matrix layout）
    マトリックス・レポート（matrix report）
    無名ブロック（anoymous block）
    メール・ラベル・レイアウト（mailing label layout）
    メガバイト（MB）（megabyte）
    メソッド（method）
    メッセージ・ボックス（message box）
    モーダル・ウィンドウ（modal window）
    モードなしウィンドウ（modeless window）
    文字位置（justification）
    モジュール（module）

や

    有効なXML（valid XML）
    ユーザー・イグジット（user exit）
    ユーザー定義アクション（user-defined action）
    ユーザー定義型（user-defined type）
    ユーザー定義マクロ（user-defined macro）
    ユーザー・レジストリ（user registry）
    要素（element）
    要素タイプ（element type）
    読込み一貫性（read consistency）

ら

    ライブラリ（library）
    ラジオ・グループ（radio group）
    ラジオ・ボタン（radio button）
    ラベル（label）
    ランタイム・パラメータ･フォーム（Runtime Parameter Form）
    ランチャ（Launcher）
    リスト項目（list item）
    リスト・ツール（list tool）
    リスト・ボックス（list box）
    リフレッシュ（refresh）
    リモート・データベース（remote database）
    リンク（link）
    リンク・ファイル（link file）
    ルート（root）
    ルート・ノード（root node）
    ループ（loop）
    レイアウト（layout）
    レイアウト単位（layout unit）
    例外（exception）
    例外ツール（Exception tool）
    レコード（record）
    レコード・グループ（record group）
    レジストリ（registry）
    列（column）
    列オブジェクト（column object）
    レベル（level）
    レベル・ツール（level tool）
    レポート・レベルのオブジェクト（report-level objects）
    連結したライブラリ（attached library）
    ローカル・データベース（local database）
    ローカル変数（local variable）
    ローカル・レジストリ（local registry）
    論理演算子（logical operators）
    論理ページ（logical page）

わ

    ワイルド・カード（wildcard）
    枠（edge）
    枠（frame）
    枠ボックス（bounding box）


Project Builderにおいて、Project Builderまたはユーザーにより提供され、一定の形式のファイルに用いられるコマンド文字列。アクションは単一のファイル・タイプに制限されていない。たとえば、「ビルド」アクションがFormモジュールおよびCソース・ファイルの双方に定義されている場合、「すべてをビルド」を選択すると適切なツールによりすべての.fmbおよび.cファイルがコンパイルされる。｢定義済みアクション（pre-defined action）｣と｢ユーザー定義アクション（user-defined action）｣も参照。


埋込み型のコンピュータ・システム用に米国国防総省により開発された、高レベルのプログラミング言語。


ユーザー入力を受けることができるウィンドウまたはビュー。


（Oracle Express） 複数のディメンション値のデータを1つの値（全都市の合計販売数など）またはさらに小さな値セット（各地域の都市について算出された平均販売数など）に統合すること。データは詳細の最低レベルで収集されることが多く、分析用にさらに高いレベルでの合計に集約される。


最後のアクションのために発生した状況を通知するモーダル・ウィンドウ。警告には応答する必要がある。


フィールド内でデータが位置付けられる方法。データを定義されたフィールド幅の左、右、中央、左揃え、右揃えまたは中央揃えで配置できる。


表、ビューまたは列を参照するためにSQL文内で使用される2次的な名前。


（Oracle Express） ディメンション内のすべての値または特定階層についてのディメンション内のすべての値を選択できる「セレクタ」ダイアログ・ボックスのツール。


（Oracle Express） 階層内の特定の値を超えるレベルのディメンション値。祖先の値は、その子孫の値の集約合計である。次の例は、GEOGRAPHYディメンション内における、"France"、"Lyon"および"Paris"の祖先としてのディメンション値である"Europe"を示している。


別のグループを直接または間接に所有するグループ。


最初のオブジェクトの位置と2番目のオブジェクトとの関係を保ちながら、1つのオブジェクト上のスポットを別のオブジェクト上のスポットに固定するレイアウト・オブジェクト。


（Oracle Express） ファミリ・リレーションを基準にしてディメンション値を選択するとき、または階層内をナビゲートするときに使用する特定のディメンション値。


名前がなく、実行可能文を囲むBEGINおよびENDキーワードを明示的に指定する必要のないPL/SQLプログラム単位。無名ブロックには名前がないため、他のプログラム単位は参照できない。


別のオブジェクトのグループツリー内で、そのオブジェクトよりも上の位置で現れるオブジェクト。どのオブジェクトも、その依存項目の上位項目になる。


必要に応じWebページやアプリケーションに動的にインポートできる小さなプログラムを表すJava用語。


特定の結果を達成するために使用される、1つ以上のプログラム・モジュール。アプリケーションは、他のアプリケーションにネストできる。たとえば、業務システムを制御するアプリケーションには、データ入力用のさまざまなForm Builderアプリケーションやそのデータを視覚的に表示するさまざまなGraphics Builderアプリケーションを含めることができる。


1. プログラム単位が継続して作動するようにプログラム単位に渡される任意の式。
2. キーワードおよびキーワードの指定値を含む句。


情報交換用の米国標準コード。American National Standard Code for Information Interchangeの略称。


読込み専用のPL/SQLサブプログラムの集合であり、通常アプリケーションと共に提供され、必要なPL/SQLソースを提供する。連結ライブラリ内のプログラム単位は、コンパイル時または実行時に他のプログラム単位によって初めてコールされたときに、暗黙的にロードされる。それらのプログラム単位は、再度必要になったときにすばやく利用できるように、ロードされた状態になっている。このため、実行時のメモリの使用量を節約し、アプリケーションのパフォーマンスを改善することができる。「ライブラリ（library）」も参照。


1. 「プロパティ（prorety）」を参照。
2.  Oracle8オブジェクト・タイプ定義の一部またはコンポーネント。各属性には、名前とOracle8データ型がある。オブジェクト表がオブジェクト・タイプに基づいて作成される場合、表内の列は、オブジェクト・タイプ定義内の属性に対応する。リレーショナル表内の列オブジェクトがオブジェクト・タイプに基づいて作成される場合、その列オブジェクトにはサブ列と同等のものが含まれ、それぞれがオブジェクト・タイプ定義内の属性に対応する。表内の各Oracle8オブジェクト属性が、別の列であるかのように異なるデータ項目として扱われる。このことは、リレーショナル表内のオブジェクト表と列オブジェクトについてもあてはまる。
3. （Oracle Express） ディメンション値によって共有される記述子の特徴。属性は論理グループ分けを表し、これによってユーザーは、同類の特徴を基にデータを選択できる。たとえば、履き物を表すデータベースでは、履き物の色という属性を使用することにより、同じ色を共有するすべてのブーツ、スニーカーおよびスリッパを選択できる。


列オブジェクトを構成する列（Oracle8）。


Graphics Builderでは、属性記述子内の最初の要素。その後のファンクション・コールで設定または取り出される属性のツールキットに知らせる32ビットのマスク。属性マスク内に対応するビットが設定されている要素のみが設定または取り出される。


（Oracle Express） 属性および属性値を基準にしてディメンション値を選択できる「セレクタ」ダイアログ・ボックスのツール。たとえば、ソフト・ドリンクを表すデータベースでは、サイズが1リットルの全製品を選択する場合もある。その場合、「サイズ」が属性で、「1リットル」が属性値である。


（Oracle Express） 属性を構成する、データベース内の値。たとえば、アイスクリーム製品を表すデータベースでは、バニラ、チョコレートおよびストロベリーといった属性値は、製品ディメンションの味属性に属する場合がある。ブランド、形態およびサイズなど、製品ディメンションのさまざまなレベルにおけるディメンション値は、味について同じ値を共有する場合がある。


チャートの1種であり、軸と呼ばれるチャートの境界線のどこにデータが位置するかに基づきデータが表示される。軸チャートには軸が2つまたは3つあり、それぞれが項目軸、値軸または日付軸のいずれかになる。


パターンの白い部分。バックグラウンド要素に色を付けるには、「塗りカラー」パレットを使用する。


オペレーティング・システム環境で実行され、サービスやアクションを行う非対話形式のプロセス。一部のOracle製品では、データベースを同時に使用するユーザーのための作業の実行と調整、電子メッセージの処理と配布、印刷サービスの管理など、さまざまな作業にバックグラウンド処理を使用する。


チャートの値軸上の表示フィールドの始点として使用される値。


ウィンドウ・システムを使用せずにバッチ・モードでアプリケーションを実行する実行可能プログラム。


いくつかのPL/SQLプログラム単位をマシンが実行できる形式に一度に変換する。


PL/SQL構成体またはSQL SELECT文内のあらゆる位置に出現する単一のリテラル値（文字列、数値、日付など）の置換に使用されるパラメータへの参照。バインド参照の際には、パラメータ名の前にコロン（:）を付ける必要がある。


PL/SQLパッケージ以外で作成し使用できるグローバル変数。


1. キーワードDECLARE、BEGIN、EXCEPTIONおよびENDで定義される、PL/SQL内の基本的なプログラム単位。
2. Form Builderでは、データベース表またはビューに関連する論理コンテナ。


1. プログラム単位の仕様部と同じ情報が入っており、サブプログラムの実際のインプリメンテーション（そのアクション順序）も含む。ほとんどの場合、1つのサブプログラムには、本体を1つのみ定義する必要がある。
2. Report Builderでは、レポート・レイアウトの大部分（テキスト、図形、データおよび計算）を含む領域。レポートのボディは、レポートのヘッダー・ページとトレーラ・ページの間に表示される。


レポートが実行されるたびにレポート内に表示されるテキストまたは図形（あるいはその両方）。一部の製品では、「一定の」テキストまたは図形と呼ばれる。


レイアウト・オブジェクトの周辺のユーザー定義のアウトラインであり、通常その内容を強調表示するために使用する。境界線は、幅の半分がオブジェクトの枠の外側、もう半分が内側になるように描かれる。


「内側枠ボックス（inner bounding box）」および「外側枠ボックス（outer bounding box）」を参照。


1つの軸に沿って2種類のデータを表示する軸チャート。


ブレーク・グループに割り当てられた問合せ列。


レポート・データのブレークまたは分類に使用されるグループ。ブレーク・グループに割り当てられた問合せ列のデータは、すべて別のグループに属する列のデータの上に表示される。ブレーク・グループにフェッチされた各レコードは一度しか表示されないが、別のグループの複数の関連レコードは表示できる。


レポート・データの集合を分類する項目を含むレポート。


ブレーク・ポイントに達するたびに実行されるPL/SQLブロック。「ブレーク・ポイント（breakpoint）｣も参照。


PL/SQLサブプログラム内のあらゆる実行可能ソース行にセットできるデバッグ・アクション。ブレーク・ポイントはプログラム単位の実行を中断し、制御をPL/SQLインタプリタに渡す。ブレーク・ポイントを使用すると、サブプログラムをステップごとに実行し、ランタイム・エラーを探すことができる。「ブレーク・トリガー（break trigger）」も参照。


特定の形式のドキュメントを作成するために使用されるコンポーネントを指す。たとえば、フォームの作成にはForm Builderが、レポートの作成にはReport Builderが使用される。


Oracle Serverによって定義およびサポートされるデータ型。


PL/SQL言語に対する拡張機能の集合であり、ソフトウェアで使用されるように設計されている。ビルトインには、データ型、プロシージャ、ファンクション、例外および定数が含まれる。


Project Builderでは、マクロはProject Builderに付属している。「マクロ（macro）｣も参照。


コンピュータと周辺機器、またはコンピュータの部分間でデータを転送する間、データを一時的に格納する領域。バッファにより、転送の速度またはタイミングの違いによる情報の損失を防ぎ、一部の機能が高速化される。


1. アクション項目の選択、ダイアログボックスの表示、または現行の条件の確認に使用されるインタフェース要素。
2. 関連するPL/SQLプロシージャをもつ、アプリケーション内のオブジェクト。通常、ユーザ・マウス・イベントに基づいて実行される。


アプリケーション・オブジェクトに関連するPL/SQLプロシージャであり、実行時にその項目で特定のマウス・イベント（ボタンのクリックなど）が発生すると実行される。これは、ブレーク・グループを含む、フェッチされたデータの階層を確立することによって行われる。


現在、ユーザーからアクセスまたは変更されているデータベース上のデータ、またはOracle Serverがユーザーのサポートに必要とするデータのための、一時的な格納領域。これらの用語は同義で使用されることが多い。


Forms DeveloperおよびReports Developerコンポーネントの実行可能プログラムを他のOracle製品や3GLプログラムから起動させるためのインタフェース。


最初のエントリ・ポイントから現在実行しているサブプログラムに対する、一連のサブプログラム・コール。各サブプログラム・コールは、下に伸びるコール・スタック上の枠によって表され、新規に入力されたサブプログラムはスタックの一番下に追加される。


   「エディタ（editor）」を参照。


Form Builderでは、ユーザーがランタイム・アプリケーションで対話を行うインタフェース・オブジェクトを配置するバックグラウンド・オブジェクト。キャンバス・ビューは、通常、ウィンドウに対応付けられる。


オープンAPIを通じてクライアント、アプリケーション・サーバーまたはデータベースにプラグインできる、管理可能なオブジェクト。


「スタイル・シート（style sheet）」を参照。


非階層型の図表やその断片などの情報の種別を、感性レベルではなく、可能とするラベル・コンポーネント。分類された種々の情報へのアクセスを個別に制限する手段として使用される。


「項目軸（discrete axis）」を参照。


スプレッドシート内のデータのインスタンス（Microsoft Excelなど）。


Common Gateway Interfaceの略称。アプリケーションをWebサーバー上で実行するための、業界標準の技法。Webサーバーで検索される標準のHTMLドキュメントは静的であるが（まったく同じテキストが毎回検索される）、CGIにより、プログラムがWebサーバー上で稼働して別のコンピュータと通信を行い、ユーザーが入力する情報に応えて「動的な」HTMLドキュメントを生成することが可能になる。


コンピュータ・グラフィックス・メタファイル。国際的に認められたファイル形式で、オブジェクト指向の図形の保存や、システムまたはプログラム間の転送に使用される。


ANSI/ISO互換のために提供されているOracleデータ型の1種。CHAR列は固定長の列で、A、3、&、ブランクなどの印字可能文字を含むことができ、1～255個の半角文字やNULLを入力できる。


フィールドに対する単一の値を示す、横棒、線、記号、その他の図形オブジェクト。


Graphics Builderチャートをフォームまたはレポートに埋め込むのに使用されるあらゆるサイズの境界のある四角形。


チャートの書式を定義する属性とプロパティの集合。


小さな四角形として表示されるインタフェース要素であり、ユーザーはこれをオンまたはオフに切り替えることができる。


エラーチェックのアルゴリズム。


1. グループの1メンバーであり、グループ・ツリー内でそのグループ・オブジェクトのすぐ下に位置するオブジェクト。グループ・オブジェクトを構成するオブジェクトは、そのグループの子である。どのオブジェクトも、その親オブジェクトの子になる。
2. （Oracle Express） 階層内にある特定値のすぐ下のレベルのディメンション値。子の値は、親の集約合計を生成する計算に組み込まれる。ディメンションに複数の階層が含まれる場合、ディメンション値は複数の親の子である場合がある。次の例は、GEOGRAPHYディメンション内で、"France"の子としてのディメンション値"Lyon"と"Paris"を示している。


「ディテール問合せ（detail query）」を参照。


ラベルの付いた、情報の感度を示す階層レベル。分類は、情報へのアクセスを制限する手段として使用される。


文全体を構成しない、SQL文の一部。たとえば、「WHERE句」。


別のアプリケーションまたはコンピュータ（「サーバー」）のサービス、データ、処理などを要求するユーザー、ソフトウェア・アプリケーションまたはコンピュータ。2タスク環境では、クライアントはユーザー・プロセスである。ネットワーク環境では、クライアントはローカル・ユーザー・プロセスであり、サーバーはローカルまたはリモートの場合がある。


2つのCPU間の処理の分離。1つはトランザクション内でサービスを提供するサーバーとして、もう1つはトランザクション内でサービスを要求して受けるクライアントとして稼働する。共有データ管理の仕事は、すべてデータベース管理システムを実行しているコンピュータによって処理されるので、データベース・アプリケーションを実行しているワークステーションは、データの解釈と表示専用になる。


メモリー・バッファ。オブジェクトは、別のオブジェクトをカットまたはコピーするか、またはアプリケーションを終了するまで、クリップボードに残る。


すべてが同じデータ型で、数に制限のない要素によって構成されるデータ単位を記述する、ユーザー定義データ型。可変配列型および表タイプは、コレクション・タイプである（Oracle8）。


Forms Developerの実行可能プログラムのコマンド・ライン引数のセットが入ったファイルを指定できる引数。


ウィンドウ・システム、描画面、またはウィンドウおよびそのビューに利用できるすべての色を含む。


1. データの特定のドメインを表す、データベース表内の垂直方向の領域。列には列名（ENAMEなど）があり、特定のデータ型（CHARなど）を持っている。たとえば、従業員情報の表で従業員名のすべてが1つの列を構成するなど。レコード・グループ列は、データベースの列を意味する。
2. Report Builderでは、問合せのSELECTリスト内の列のそれぞれの式に対し自動的に作成されるか、集計や式を実行したりプレースホルダーとして稼働するために手動で作成されるデータ・モデル・オブジェクト。


Oracle8のリレーショナル表またはオブジェクト表で、定義がオブジェクト・タイプに基づいている列。列は複合列で、その構成部分は、オブジェクト・タイプの属性に対応する。


オペレーティング・システムのコマンド・ライン。ほとんどのOracle製品は、いくつかの実行プログラム引数を使用して、コマンド・ラインから起動できる。


プログラム内に説明文を含めるための言語要素。これを実行しても影響は出ない。


データベース内のデータの変更を永続的にすること。変更が確定されるまでは、変更情報を格納したり、データを前の状態に復元できるように、新旧のデータが存在する。


（Oracle Express）

>	より大きい

<	より小さい

=	等しい

<=	以下

>=	以上

<>	等しくない

数値の場合、オペランドは最小共通型に拡大される（IntegerはLongに優先し、LongはSingleに優先し、SingleはDoubleに優先する）。文字列の場合、比較は大/小文字が区別され、Windowsのコントロール・パネルで指定する言語によって使用される照合順番に基づいて行われる。結果はFALSEが0でTRUEが-1になる。


ソース・プログラムを、バイナリの実行可能な形式に変換すること。PL/SQLプログラム単位は、実行する前にコンパイルする必要がある。


大規模アプリケーションの一部である特定のターゲット・オブジェクト。｢ターゲット（target）｣も参照。


異なるデータベース・アプリケーションや同じアプリケーションを実行する複数のユーザーによる、同じデータの同時アクセス。データベース・ソフトウェアで並行性を保つには、すべてのユーザーが首尾一貫したデータを参照できることと、すべての変更が適切な順序で行われることを保証するロジックを追加する必要がある。


X> 100のように、値が真か偽である式。たとえば、式で真を評価させた行のみを表示するための問合せを行う場合、問合せに条件を設定します。


子オブジェクトが親オブジェクトの内外で移動またはサイズ変更されることを防ぐレイアウト・エディタ・モード。


データベースへログインすること。問合せを作成または変更したり、データベースに格納されているアプリケーションにアクセスする場合は、接続する必要がある。


SQL*Netがネットワーク上の特定のOracleインスタンスへの接続に使用する、プロトコルを含むパラメータの集合。


オブジェクト・レベルやアプリケーション・レベルではなくデータベース・レベルで実施される、一定のデータに関する規則または制限（列でのNOT NULL制限など）。


PL/SQLコードの構成体。構成体には2つのタイプがある。値無し構成体は値を戻さず、値付き構成体は値を戻す。


Oracle Serverが現行のSQL文を格納する作業領域。文が問合せの場合には、結果の列ヘッダーと結果が入る１行。カーソルとも呼ばれる。


1つの値で始まり、別の値に達するまで継続する値を表示する軸。したがって、これらの値は、数学的に関連付けられている依存データは、通常、値軸とも呼ばれるこの軸に沿って表示される。


オブジェクトの理想的な形を構成する、垂直の四角形の4隅の点。レイアウト上のオブジェクトを選択すると、その制御ポイントが表示される。選択するオブジェクトによっては、制御ポイントをドラッグして、オブジェクトを変更できる場合がある。


描画が行われる2次元の格子。


レイアウト・エディタ・ビューでのオブジェクトの配置とサイズ設定に使用される、x，y単位のタイプ。利用できる座標システムは、1) プラットフォーム固有の文字セル・サイズを使用する文字、2) 単位がピクセル、センチメートル、インチまたはポイントである実際単位。


オブジェクトがレイアウト内で表示されるための位置を示す点。x座標とy座標により、オブジェクトの水平方向（x）と垂直方向（y）の位置が決まる。


必要に応じエディタ内の別の位置にペーストできるように、選択されたオブジェクトの複製をクリップボード上に保管すること。


親問合せと同じ表に基づく副問合せ（たとえば、その親問合せに含まれる表の中にある列の参照など）。


2つ以上の他のグループを所有し、数学的なクロス積を実行する（それらの間の値を相関させる）グループ。


｢マトリックス･セル｣を参照。


1. マウスの位置を示す小さなアイコン。カーソルの形は、選択するツールによって異なる。
2. 問合せにより取り出されるデータに対する内部ポインタ。カーソルは、一度に1行のデータしか指さない。ただし、ビルトイン・サブプログラムを使用すると、カーソルをデータ・セットの任意の行に移動できる。


（Oracle Express） ユーザーが作成する式で、これによってデータ解析を細かくチューニングできる。データベース内のベース基準を使用して、カスタム基準を作成できる。たとえば、データベース内にVolume Shareという既存の基準がある場合、この基準を使用して、Volume Share Year Agoという名前のカスタム基準を作成できる。このカスタム基準では、製品の前年度からの全体シェアを見ることができる。


1つ以上のオブジェクトを削除し、必要に応じエディタ内の別の位置にペーストできるようにそれらをクリップボードに保管すること。


ビューは、その全体または一部が他のビューにより遮られると破損する。


データベースの管理者により所有される一組の表およびビュー。Oracle Serverやその他のリレーショナル・データベースの中核となる情報ソース。


グループと問合せ間でマスター/ディテール（親子）関係を定義するのに使用されるデータ・モデル・オブジェクト。


データベースからどの値をフェッチすべきか、どの値を計算すべきか、データをレポート内でどのように順序付けるべきかを定義するリレーショナル・モデル。データ・モデルを定義するReport Builderオブジェクトは、問合せ、グループ、列、パラメータおよびリンクである。


ビューは、その全体または一部が他のビューにより遮られると破損する。


Project Builderにおいて、オープン・オブジェクトの構造を制御するプロジェクト項目を示す、プロジェクト・ナビゲータ内のノード。たとえば、「グローバル・レジストリ」ノードはグローバル・レジストリを示し、ローカル・レジストリのリストとグローバル・タイプ定義のリストが含まれている。


ユニットとして扱われる、一組のディクショナリ表とユーザー表。


トリガーを実行するINSERT、UPDATEまたはDELETE文がデータベースのリレーショナル表に対して発行されたときに、暗黙的に実行される保存済みのPL/SQLブロック。｢デバッグ・トリガー（debug trigger）｣も参照。


データの標準の書式。共通のOracleデータ型には、CHAR、VARCHAR2、DATE、NUMBER、LONG、RAWおよびLONG RAWなどがある。


Oracle Serverのデータ型の1つ。日付列には、紀元前9999年1月1日から西暦9999年12月31日までの日付と時刻が入る。


1つの日付から始まり、別の日付に達するまで続く日付の値を表示する軸。


プログラム内のランタイム・エラーを検出して診断し、削除すること。


PL/SQLサブプログラム内に配置されるユーザー指定のイベントであり、通常ランタイム・エラーのトラブルシュートを目的とする。


PL/SQLサブプログラムのどの実行可能ソース行にも配置できる、条件付きのデバッグ・アクション。指定条件が満たされると、サブプログラムの実行が再開される前に、指定したアクションが実行される。｢データベース・トリガー（database trigger）｣も参照。


テストとデバッグに使用される、ソフトウェアでのProcedure Builderの機能。


Oracle8では、オブジェクト・タイプとオブジェクトは複合要素であり、構成要素と属性によって構成される。Forms DeveloperおよびReports Developerでは、個々の構成要素または属性を、独立した、個別に選択できるデータ項目として扱う。このような扱い方によって、分解オブジェクトが生成される（フラット化オブジェクトとも呼ばれることもある）。オブジェクトはDeveloper環境内において、同類のエンティティではない。


値が他のデータに依存するデータ。たとえば、ある従業員の就業年数は値10であるが、それはその従業員の名前の値と依存します。値データとも呼ばれる。


ユーザーが必要なコマンド・パラメータや属性を指定しない場合にシステムにより提供される値。


配布と実行のために完成されたアプリケーションを用意し提供すること。


Project Builderにおいて、Project Builderがプロジェクト内で参照されるファイルをどのようにコンパイルするかを決定するために使用する機構。ツリーの左上の項目は、右下の項目に依存している。たとえば、ヘッダー・ファイルが古いか、またはそれを使用して構築する実行可能ファイルより新しいと、Project Builderでは、Buildコマンドを受けて、実行可能ファイルが再構築される。依存性はサブプロジェクトにも当てはまる。たとえば、関数ライブラリを含むサブプロジェクトが再構築されていると、Project Builderは更新されたライブラリ関数を使用するため依存プロジェクトを再構築する必要があることを「理解する」。｢依存性表示（dependency view）｣も参照。


Project Builderでは、プロジェクト・ナビゲータ内のファイルをそれらが互いに依存する順に表示（プロジェクト・ノードを階層の最上位に、その後にターゲット・ノードを、続いてそれらのターゲットの構築可能コンポーネントを配置）する。たとえば、実行可能フォームは.fmbファイルに依存してこれに先行し、.fmbファイルはUSEREXITプロシージャが使用するライブラリに依存してこれに先行するなど。｢プロジェクト表示（project view）｣、｢ターゲット（target）｣も参照。


1. 別のオブジェクトのグループ・ツリー内で、そのオブジェクトより下位に現れるオブジェクト。どのオブジェクトも、その上位項目の依存項目になる。
2.（Oracle Express）階層内の特定の値より小さいレベルのディメンション値。子孫の値は、その祖先の集約合計を生成する計算に組み込まれる。次の例は、GEOGRAPHYディメンション内における、"Europe"の子孫としてのディメンション値である"France"、"Lyon"および"Paris"を示している。


Forms DeveloperおよびReports Developerアプリケーションのさまざまなコンポーネントを設計するためのインタフェース。


「Oracle Designer」を参照。


アプリケーション・モデリング、設計および生成のツールセット。Oracle Designerを使用すると、Oracleリポジトリに記録されているモジュール定義からフォームとメニューを生成できる。


マスター/ディテール・レポートを定義する際、ディテール問合せはマスター（親）問合せにより取り出された各レコードに対するすべての関連レコードを取り出す。


操作を完了するために必要な情報の入力を求める、部分的な画面またはウィンドウ。


コンパイラにより生成される、プログラム単位の中間的な表現。DIANAには、コンパイルされるプログラム単位の構文上と意味上の情報がすべて含まれている。参照をプログラム単位にコンパイルするため、コンパイラは参照先のプログラム単位のDIANAへのアクセスを必要とする。たとえば、プログラム単位Aがプログラム単位Bをコールする場合、BのDIANAが使用可能でなければ、Aをコンパイルできない。


（Oracle Express） データのカテゴリを提供する値のリストである、データベース・オブジェクトのタイプ。ディメンションは、変数の値を識別する索引として機能する。たとえば、月ごとに個別の販売金額が記録された販売データがある場合、そのデータにはMONTHディメンションがある。つまり、データが月別に分類される。ディメンションはリレーショナル・データベースにおけるキーに似ている。

マルチディメンションの変数内にある任意のデータ項目は、変数の各ディメンションから1つのメンバーを指定することにより、一意におよび完全に選択できる。たとえば、販売変数がMONTH、PRODUCTおよびMARKETによってディメンション化されている場合、MONTHディメンションで"January"、PRODUCTディメンションで"Stereos"、MARKETディメンションで"Eastern Resion"を指定すると、変数内の1つのセルが一意に指定される。このように、ディメンションによって、データの取出し、更新および計算について、データを編成および選択するための、正確で、直感的な方法が提供される。

ディメンションは、1つのテキストまたは整数値などの単純な値から、他のディメンションの値を組み合わせた値など、連結した値の場合もある。複合は、ディメンションではないが、散在する値を処理する目的でExpressによってディメンションのように扱われる、連結に似た内部オブジェクトである。


（Oracle Express） ディメンションを構成するリスト内の1つの要素。たとえば、コンピュータ会社のPRODUCTディメンションでは、"LAPPC"および"DESKPC"と呼ばれるディメンション値を持つ場合がある。GEOGRAPHYディメンション内の値には、"Boston"および"Paris"などが含まれる場合がある。また、TIMEディメンション内の値には、"MAY96"および"JAN97"などが含まれる場合がある。


メニュー項目、ボタンなどを表す、インタフェース要素の状態。現行のコンテキストでは使用不可。つまり、キーボードやマウス入力には応答しない。


固有の値を固定した間隔で表示する軸。これらの値は、数学的に関連付けられていない。通常、独立データは、項目軸とも呼ばれるこの軸に沿って表示される。


チャート、イメージ、テキスト・オブジェクトおよび形のあらゆる組合せを含むGraphics Builderドキュメント。


Form Builderでは、PL/SQLでプログラムに基づいてフェッチまたは割り当てる必要のある情報を格納または表示する項目。


これはコール・スタックに属するため、この中では新規に入るサブプログラムはスタックの最下部に追加される。最初のプログラム・エントリ・ポイントに対応する最も古い枠は、スタックの一番上に、最も深くネストされたサブプログラム・コールと関連付けられた最新の枠は、スタックの一番下にある。


マウス・ボタンを押したまま、マウス・ポインタをウィンドウ内の特定の位置にスライドさせること。


（Oracle Express） 階層を持つディメンション内の集約のレベルを上下にナビゲートすること。ディメンション値を選択したり、データを表示したりするとき、ディメンション階層内でドリル・ダウンまたはドリル・アップすることにより、階層を拡張または縮小できる。ドリル・ダウンによってビューが拡張され、ディメンション階層内にある親の値に関連付けられている子の値も表示される。ドリル・アップによって、ディメンション階層内にある親の値に関連付けられている子の値のリストが収縮される。

階層をドリル・ダウン（拡張）するにはプラス・アイコン( [image])をクリックし、ドリル・アップ（縮小）するにはマイナス・アイコン( [image])をクリックする。

セレクタ内では、ドリル・アイコン( [image])をクリックして「ドリル」ダイアログ・ボックスを表示し、ディメンション全体の詳細レベル選択できる。


クリップボードの内容を変更することなくレイアウト上のオブジェクトを直接コピーできるオプション。


（Oracle Express） 評価されるたびに異なるディメンション値を持つことのできる保存済み選択項目。選択されたディメンション値は、使用ごとに異なる場合がある。対照的に、静的な保存済み選択項目は、ディメンション値の変化しないリストである。動的な保存済み選択項目のスクリプトには"Select the last three Months"などのように文が記述されるが、静的な保存済み選択項目のスクリプトには、"Select February 1996, March 1996, and April 1996"といったように文が記述される。


拡張2進化10進符号（Extended Binary-Coded Decimal Interchange Code）の略称。


オブジェクトの境界。


境界線、塗りおよびテキスト・パターンと色の現行の設定を表示する、レイアウト・エディタのツール・パレット上の表示ボックス。


プログラム単位の作成やアプリケーションの設計など、一連の特定のタスクを実行する作業領域。


情報を記録する必要があるかもしれない重要な事柄。要素は、属性および他の要素との関係で記述される。


ディクショナリ内に保持される要素はすべて、特定のタイプに分類される。要素タイプには、エンティティ、属性、プログラム・モジュール、表、ダイアグラム、テキスト、ソフトボックスなどがある。これらのオカレンスまたはインスタンスは、要素と呼ばれる。


（Oracle Express） 実行しようとしているタスクに関連のあるダイアログ・ボックスを表示する。通常はそこで1つ以上の必要な値を選択する。


メニュー項目、ボタンなどが現行のコンテキストで使用できる（つまり、キーボードやカーソルおよびマウスの入力に応答する）ことを表すインタフェース要素の状態。


別のオブジェクトを含むオブジェクト。オブジェクトは、次の条件をすべて満たす場合に限り、別のオブジェクトに囲まれると見なされる。両方のオブジェクトが同じ領域に属している（ボディまたはマージン、ヘッダー、トレーラ）。2つのオブジェクトの外側のものが、枠または繰返し枠である。2つのオブジェクトの外側のものが、もう一方の後ろにある。2つのオブジェクトの内側のものが、完全にもう一方の境界線内にある。両方のオブジェクトが同じ領域に属している（ボディまたはマージン、ヘッダー、トレーラ）。2つのオブジェクトの外側のものが、枠または繰返し枠である。2つのオブジェクトの外側のものが、もう一方の後ろにある。2つのオブジェクトの内側のものが、完全にもう一方の境界線内にある。


意図された受取人のみがデータを暗号解除し、読めるようにデータを暗号化すること。


一般的に使用されるツールおよびそれらの構成情報を含む、ユーザーのコンピュータ･ベースの作業場所。Project Builderにおいて、Forms Developerアプリケーションの開発関連のさまざまな作業を完成するのに使用される、ツールのサブセットを指す。


PL/SQLサブプログラムから生成される警告またはエラーの状況。


（Oracle Express） 指定期間を満たすデータに関連付けられたディメンション値を選択できる「セレクタ」ダイアログ・ボックスのツール。たとえば、ボストン市場で1995年の12月23日で終わる週に、ドル売上高が10,000ドルを超えるすべての製品を選択するといった操作もできる。


'OPENFILE=my_disp'や'PRINT=YES'など、製品の実行可能プログラムに渡すことができる引数。これらの引数は、通常実行可能プログラムがコマンド・ラインから起動される際に指定される。


「実行（run）」を参照。


オブジェクト、モジュール、選択されたテキストやイメージのコピーをファイルやデータベースに格納すること。Project Builderにおいて、プロジェクト、タイプ、アクションまたはマクロ（あるいはそれらすべて）の定義が含まれるファイルを、異種プラットフォームで作業する他のクライアントに配布できる移植性のある形式で書くプロセス。「エクスポート・ファイル（export file）」、「インポート（import）」も参照。


Project Builderにおいて、プロジェクトのエクスポートにより作成された共有可能な移植性のあるファイル。


1. 変数、定数、リテラルおよびそれらの値による操作を結合したPL/SQL構成体。
2.（Oracle Express） Express言語プログラム内で指定される1つ以上のデータ値。たとえば、式をプログラムまたは関数の引数として指定できる。式は次のいずれかである。

•	単一のリテラル値（10など）

•	1つ以上の値を含む変数または式

•	1つ以上の値を返す関数

•	変数、式または関数などの値を、算術演算子またはブール演算子と組み合せる計算


「ライブラリ（library）」を参照。


他のOracle製品により参照可能なANSI規格のSQL SELECT文。


（Oracle Express） ディメンション階層のレベルに対応する、関連のあるディメンション値のグループ。ファミリ内のディメンション値は、祖先、親、子および子孫としてお互いに関連付けることができる。次の例では、GEOGRAPHYディメンション内のディメンション値"France"についてのファミリ・リレーションを示す。


（Oracle Express） 特定階層のディメンション値のファミリを選択できる、「セレクタ」ダイアログ・ボックスのツール。ファミリには、1つの親とその子孫にあたるディメンション値すべてが含まれる。たとえば、GeographyディメンションにあるChicago市場レベル以下のファミリ・メンバーをすべて選択できる。


1. その中でデータの入力、編集および削除が可能なインタフェース要素。2. Graphics BuilderおよびReport Builderでは、特定の問合せ列のデータがどのように表示されるかを定義するレイアウト・オブジェクト。


Graphics Builderでは、独立データ（値）が横棒や線のようなチャート・フィールドとしてどのように表示されるかを決定する、属性およびプロパティの集合。


Project Builderにおいて、ファイル・システム内に格納されたファイルを示す、プロジェクト・ナビゲータ内のノード。たとえば、グローバルおよびローカル・レジストリ・ノードは、それぞれグローバルおよびローカル・レジストリ・ファイルに対応する。


塗り（色またはパターン）が適用される、オブジェクト内の領域。


グループによりデータが表示されることを制限する、PL/SQL関数または無名関数。


ローカル・エリア・ネットワーク上のコンピュータに対する外部からのアクセスと、ローカル・エリア・ネットワーク内から外部のコンピュータへのアクセスを規定するコンピュータ。


「分解オブジェクト（deconstructed object）」を参照。


子オブジェクトが移動またはサイズ変更される際に親オブジェクトのサイズ変更または縮小を自動的に行い、オブジェクトの位置変更やサイズ変更により影響される可能性のある他のレイアウト・オブジェクトの位置を調整するレイアウト・エディタ・モード。


ユーザーまたはクライアントからの入力に応答できるエンティティ状態。エンティティは、キーボード・フォーカスを持っていれば、ユーザーがキーを押したときにイベントを受け取れる。描画ビューは、描画フォーカスを持っていれば、描画に影響を与えるクライアント・ルーチンに応答できる。


パターンの黒い部分。フォアグラウンド要素に色を付けるには、「線カラー」パレットを使用する。


別の表の主キーを参照している、1つの表内の値または列。


Report Builderにおいて、ラベルがフィールドの左に、各レコードが別々の論理ページに表示される、デフォルトのレイアウト・スタイル。


Report Builderにおいて、ボイラープレートとフィールドを混在させ「ワード」ブレークで行を折り返すデフォルトのレイアウト・スタイル。


（フィールド・プロパティ） フィールドの値の表示状態を定義する設定。たとえば、書式マスクは、金額や日付の表示を指定するのに使用される。


オブジェクトのフォーマット属性の動的な変更を可能にするPL/SQL関数。


（Oracle Express） 値を生成するストアド計算、ストアド式またはストアド・プロシージャを表すデータベース・オブジェクトのタイプ。データ内の複雑なまたは頻繁に使用されるリレーションを、データ自体を再保存せずに定義および保存する方法は、式によって提供される。式を使用するたびに、値の生成に必要な計算またはプロシージャはExpressによって実行される。


PL/SQLのファンクションまたは式、ユーザー・イグジット、SQL文またはこれらのあらゆる組合せからそのデータを獲得するユーザー作成の列。


1.Graphics Builderにおいて、チャートの基本構造を定義するがデータの表示方法は決定しない、チャート・テンプレートの一部。
2.Report Builderにおいて、他のレイアウト・オブジェクトを囲み複数のオブジェクトのフォーマット、周期および位置を同時に制御するのに使用されるレイアウト・オブジェクト。


アクションの指定されたシーケンスを実行して値を返すPL/SQLサブプログラム。クライアントおよびデータベース・サーバーに存在し、実行することができる。


アプリケーションを、ランタイム実行可能プログラムおよびバッチ実行可能プログラムで実行できるバイナリ形式でファイルまたはデータベースに保存すること。


実行可能なForm Builder。アプリケーションをバイナリ形式でファイルやデータベースに保存するときに使用される。


Forms DeveloperおよびReports Developerインストールの全体に共通した情報を格納するProject Builderレジストリ。この情報は、タイプ定義と、それに関連付けられたアクションおよび、事前定義済みまたはユーザー定義のプロパティに限られる。グローバル・レジストリの使用はオプションである。グローバル・レジストリのファンクションは、個々のユーザー・レジストリにより実行することができる。「レジストリ（registry）」、「ユーザー・レジストリ（user registry）」も参照。


アプリケーション内に存在する論理コンテナ。アプリケーションがグローバル変数を使用する場合、その変数は、アプリケーションを終了するまで、または別のオブジェクトがその変数を明示的に削除するまで、保持される。


ユーザーに、モジュールに対するアクセス権限を与える。アクセス権限を他のユーザーに付与できるのは、モジュールの作成者のみである。


Graphics Builderでは、レイアウト・エディタ内の行と列を分離する線。


1. いくつかの他のオブジェクトから構成されているオブジェクト。
2. Report Builderにおいて、問合せにより選択されているすべての列を含むため自動的に作成されるか、レポート内に現れるデータの階層を変更するためにユーザーにより作成されるデータ・モデル・オブジェクト。主に、レポート内でのブレークの作成と計算のリセットに使用される。
3.Project Builderにおいて、ランチャ外のサブメニューを介して利用できる関連項目の集合。グループによりユーザーは、他の項目またはグループ（あるいはその両方）を表示するためにポップアップする任意の「グループ」をエントリとして、ランチャをWindows95の「スタート」メニューに似せてセットアップできる。たとえば、ユーザーはプロジェクト計画、作業リスト、コンポーネント仕様などを含む「Project Docs」というグループを定義し、.TXTファイルや.DOCファイルなどを含めることができる。


グループによりフェッチされるデータを制限するPL/SQL関数。


「ファミリ・ツリー」に類似した階層モデルで、グループ・オブジェクトとそれらを構成するオブジェクトの関係を表す。


グラフィカル・ユーザー・インタフェース。プログラムの入出力を表す以外に、ピクチャを使用することを意味する。GUIのあるプログラムは、ウィンドウ・システム（X Windows、Microsoft Windows、Apple Macintoshなど）上で稼働する。GUIプログラムは、アイコンやボタンなどを画面上のウィンドウに表示する。ユーザーは、GUIプログラムを主に画面上のポインタ（通常マウスで制御される）を移動して制御する。ビットマップ・インタフェースとも呼ばれる。


アプリケーション・オブジェクトに対する内部ポインタ。PL/SQLプログラム単位内のオブジェクトを参照するには、適切なサブプログラムに、引数としてそのハンドルを渡す必要がある。


テキスト、図形、データ、計算など、レポートの紹介内容を入れることができるオプションのレポート領域。レポートには、ヘッダーが最初に表示され、ボディとトレーラがそれに続く。


レポート内に含めたりレポートに関連付けることができるオブジェクトのタイプを示す、オブジェクト・ナビゲータ内のノード。ヘッダー・ノードを選択しても、レポート内のオブジェクトは選択されない。


（フィールド・プロパティ）  Report Builderが、示されたフィールドをレイアウト内のその位置で禁止するかどうかを指定するプロパティ。「非表示」が指定されると、フィールドの値は（&fieldnameにより）テキスト・オブジェクト内で参照される位置のみ表示される。


（Oracle Express） データを編成および構造化するための方法。ディメンション内の値が複数のレベルに配置され、各レベルがその下位レベルからのデータの集約合計を表している場合、階層が存在する。一部のディメンションは、それらに基づく複数の階層を持つ。

次の例は、GEOGRAPHYディメンションに基づく階層を示す。ここでディメンション値は、5つのレベルで配置されている。CustomersレベルのデータはCitiesレベルに集約され、Citiesレベルのデータは、Countries/Areas、Continents/RegionsおよびGlobalの各レベルに集約される。


Hypertext Markup Languageの略称。インターネット上のWebサーバーの他のドキュメントに対するコンテンツとリンクを指定するのに使用される、タグ・ベースのASCII言語。エンド・ユーザーは、WebブラウザによりHTMLドキュメントを表示させ、リンクに従って他のドキュメントを表示させる。


Hypertext Transfer Protocolの略称。WWWブラウザを有するコンピュータとアクセスされるWWWサーバー間のWWW通信データを搬送するのに使用されるプロトコル。


1つの文書のある位置から、別のドキュメント（のある位置）や同じ文書内の別の場所への参照（リンク）。Webブラウザでは、通常区別ができる方法（異なる色、フォント、スタイルなど）によりハイパーリンクが表示される。ユーザーが（マウスをクリックして）ハイパーリンクを実行すると、ブラウザがリンク対象を表示する。


クロス・リファレンスを含むドキュメントの集まりであり、これを使用するとWebブラウザによりドキュメント間の移動を簡単に行うことができる。


Webブラウザを使用することにより、ドキュメント間を簡単に移動できるクロス・リファレンス。


インタフェースC定義。Cにインプリメントされた機能に対するPL/SQLアプリケーションのプログラミング・インタフェース。


ウィンドウやツールの図形表示。


アプリケーションに保管およびロードできるビットマップ・オブジェクト。クライアントは、インポートされたイメージを変更できない。


Project Builderでは、Project Builderが認識し自動的にプロジェクト・ナビゲータ内にそのエントリを作成するプロジェクト項目であり、通常自動生成の結果である。たとえば、Project BuilderはCソース・ファイルのコンパイルの間に中間ステップとして生成される、 OBJファイルを認識し、それらのエントリをプロジェクト・ナビゲータ内に作成できる。暗示項目のプロパティのリセットは使用が制限されているが（次のコンパイルが変更を破棄する）、編集、ビュー、印刷のようなアクションを介して確認できるため、このような項目は便利である。「項目（item）」、「アクション（action）」も参照。


1. モジュールをファイル・システムまたはデータベースから読み込み、それをアプリケーションに取り込むこと。
2.プロジェクト情報が入ったファイルを読み込むこと。


その値について他のデータに依存しないデータ。たとえば、ある従業員の名前が値Jonesで、これは他の従業員名や関連データの値とは無関係であるなど。項目データとも呼ばれる。


表に関連するオプション構造であり、Oracle Serverにより表の行の位置を素早く確かめ、（オプションとして）それぞれの行が他と重複しないことを保証するために使用される。


Project Builderにおいて、依存性ツリー内の祖先ノードからアクション、タイプ、マクロまたはプロパティ定義の情報を取得すること。上位ノードに関連属性がある場合、それらの属性は継承できる。したがって、フォームや文書のようなファイル・システム項目がサブプロジェクト、プロジェクト、ユーザー・レジストリ、グローバル・レジストリからアクション定義を継承したり、プロジェクトがローカルまたはグローバル・レジストリからタイプ定義を継承する、などの場合がある。


枠の厚みや他の属性設定にかかわらず、オブジェクトの理想的な形を構成し、その4つの制御ポイントを接続する仮想の四角形。


ターゲットの構築に使用されるファイル。たとえば、.FMBは.FMXの入力となる。ソースともいう。


入力する各文字が、カーソル位置以降の文字を右に移動させてその位置に挿入されるモード。置換モードの反対。


世界的な、コンピュータのTCP/IPベースのネットワーク。


PL/SQLソース、Procedure BuilderコマンドおよびSQL文のあらゆる組合せが入ったファイル。


内部的なTCP/IPネットワークであり、これに対するアクセスは（ファイアウォールにより）企業や組織内の人物に制限されている。イントラネットは、インターネットが提供するサービスと類似したものを組織内に提供するが、インターネットに接続される必要は必ずしもない。企業内で情報やアプリケーションの配布のため、内部ネットワーク上に1つ以上のWebサーバーをセットアップするのはイントラネットの一般的な例である。


インターネット上のコンピュータを個別に識別する4つの部分をもつ数値で、それぞれの部分は3桁以下である。


Project Builderでは、フォームやドキュメントなど、そのオブジェクトに関連するファイル・システム内のオブジェクト。プロジェクト・ナビゲータ内のノードにより指定または参照される。


Project Builderでは、「プロジェクト・ナビゲータ」ウィンドウ内のエントリで、アイコンおよび内容を示すタイトルから構成される。ノードは、「Form Builder」ファイルおよび文書などのファイル・システム内の実際の項目を持つ。「ノード（node）」、「項目（item）」も参照。


Java ARchiveの略称。多くのファイル（Javaのクラス・ファイル、イメージなど）を1つのファイルに集めるのに使用されるファイル。


インターネット用のプログラミングをプラットフォーム独自の「アプレット」の形でサポートするコンピュータ言語。


2つ（以上）の表のデータを1つのSELECT文内で結合すること。


「配置（alignment）」を参照。


1. 対応する引数と共に指定する必要があるコマンド・ライン構文の一部。

2. PL/SQL構成体に必要な部分の1つ。


アプリケーションの仮想オブジェクトの値または意味を示すテキスト。


（Oracle Express） ディメンション階層内の位置。ベース・レベルより上の各レベルは、それより下のレベルからのデータの集約合計を表す。たとえば、TIMEディメンションには、MonthやQuarterなどの昇順レベルを持つ場合がある。ディメンション階層内では、1つのレベルのディメンション値は、そのレベルより上または下のレベルのディメンション値とファミリ・リレーションを持つ。


（Oracle Express） 特定階層内のレベルに基づいてディメンション値を選択できる「セレクタ」ダイアログ・ボックスのツール。たとえば、GeographyディメンションにあるKey Accountレベルのすべてのディメンション値を選択するといった操作もできる。


オブジェクトの作成、変更、位置付けまたは削除ができるエディタ領域。


異なる表示デバイス間で一貫した測定システムを使用するための寸法の単位。レイアウト上の位置またはオブジェクトの寸法を指定するのに使用される。


SQL SELECT文のテキスト文字列を示すのに使用されるパラメータへの参照。字句参照の際には、パラメータ名の前にアンパサンド（&）を付ける必要がある。


クライアントのファイル・システムまたはデータベースのファイルにともに保管された1つ以上のPL/SQLプログラム単位の集合。ライブラリに保管されたプログラム単位は、複数のアプリケーションから一度に参照できる。ストアド・プログラム単位（データベースに保存され、実行される）とは異なり、ライブラリ内のプログラム単位は、常にクライアント側のPL/SQLエンジン内にロードされ、実行される。ライブラリに保管されたプログラム単位を参照するには、まずライブラリを連結する必要があります。｢連結したライブラリ（attached library）」も参照。


グループと問合せ間でマスター/ディテール（親子）関係を定義するのに使用されるデータ・モデル・オブジェクト。


ボイラープレート・オブジェクトが関連付けられているファイルの名前。実行時に、Report Builderはファイルの内容をレポート・レイアウト内にインポートする。


ダイアログ・ボックス内の項目リスト。通常、リスト・ボックスは選択肢を提供し、スクロールできる。


Form Builderにおいて、選択肢の一覧を表示する項目。


LOVともいう。1列または複数列の選択リストを提供する、スクロール可能なポップアップ・ウィンドウ。


（Oracle Express） ディメンション内で現在選択されている値のリストからディメンション値を選択できる「セレクタ」ダイアログ・ボックスのツール。


1. アプリケーションを実行するコンピュータ上のデータベース。2. アプリケーションが接続されているデータベース。このデータベースは、アプリケーションによって生成されるすべてのSQL文を解析し、実行する。


「ユーザー・レジストリ（user registry）」を参照。


現行のプログラム単位のスコープ内でのみ宣言されるPL/SQL変数。


（Oracle Express）

Not	Unary Not -- オペランドはＩNTEGER型またはLONG型。演算はビット単位で実行される（1の補数）。

And	And -- オペランドはＩNTEGER型またはLONG型。演算はビット単位で実行される。

Or	Inclusive Or -- オペランドはＩNTEGER型またはLONG型。演算はビット単位で実行される。

Xor	Exclusive Or -- オペランドはＩNTEGER型またはLONG型。演算はビット単位で実行される。

Eqv	Equivalence -- オペランドはＩNTEGER型またはLONG型。演算はビット単位で実行される。（A Eqv B）は（Not (A Xor B)）と同じ。

Imp	Implication -- オペランドはＩNTEGER型またはLONG型。演算はビット単位で実行される。（A Imp B）は（(Not A）OR B）と同じ。


実際のレポートの1ページ（1つ以上の物理ページに表示される可能性がある）。


PL/SQLサブプログラムでは、 条件が一致しなくなるまで繰り返される条件文。


Project Builderにおいて、アクションのカスタマイズや拡張に使用できる型独自の変数。マクロは、定数または単純な式（これはまた、別の定数または式、あるいはその両方を含む場合がある）の形をとる。マクロを使用すると、コマンド・オプションの発行、およびユーザーがプロパティ定義を1つ変更して行うコマンド・セットの変更の自由度が、大きく高まる。


ページ上の1つ以上の列にレコードを表示する、デフォルトのレイアウト。フィールドは、1つの繰返し枠内で、互いのすぐ下に表示される。


ボディ領域の各論理ページの最上部と最下部にあるオプションのレポート領域。マージンは、任意のレイアウト・オブジェクトを含むことができるが、一般には、ボイラープレートと（ページ番号、総ページ数、総計、現在の日付と時刻のための）フィールドを含む。


ディテール・レコードがマスター・レコードの下に表示される、デフォルト・レイアウト。マスター・レコードは、フォーム・レイアウト・スタイルで表示され、ディテール・レコードは、表形式のレイアウト・スタイルで表示される。


（Oracle Express） ディメンション値の名前に含まれる文字をユーザーが指定する文字に一致させることにより、ディメンション値を選択できる「セレクタ」ダイアログ・ボックスのツール。たとえば、BrandレベルのProductディメンションで、"new"という文字を含むすべてのディメンション値を選択できる。


繰返し枠の各レコードをマトリックスのセルとして表示する繰返し方向。


マトリックス・レポートに必要な4つのデータ・セットをフォーマットする、格子に類似したデフォルト・レイアウト。この4つのデータ・セットは、ラベルの行として表示されるセット、ラベルの列としてのセット、格子を作成するセットおよび格子のセルに入るセットがそれぞれ1つずつである。


4つのデータ・セットのクロス・タブ。1つのデータ・セットはページの横方向に表示され、1つはページの縦方向に表示される。1つは、横方向と縦方向のデータが交わることが可能なすべての位置を決定し、それらの位置にセルを配置するクロス積である。もう1つは、セルの「フィルタ」として表示される。1つのデータ・セットはページの横方向に表示され、1つはページの縦方向に表示される。1つは、横方向と縦方向のデータが交わることが可能なすべての位置を決定し、それらの位置にセルを配置するクロス積である。もう1つは、セルの「フィルタ」として表示される。


（Oracle Express） 販売データやコスト・データなど、調査および分析できるデータ。ある基準内のデータを選択および表示できる。基準は、変数やリレーションとして格納したり、式を使用して計算したりできる。


1,048,576（1024x1024）バイトに等しいメモリーの単位。多くの場合、100万バイトに切り捨てられる。


最後のアクションのために発生した状況を通知するモーダル・ウィンドウ。メッセージ・ボックスには応答する必要がある。


オブジェクト・タイプ定義によってOracle8に連結された実行可能コード。


アプリケーションが継続する前にオペレータからの応答を引き出すウィンドウ。


ランタイム・ウィンドウ・マネージャがサポートできる量と同じ量の機能をもてる制限のないウィンドウ。


1. 複数のアプリケーションにより共有できるオブジェクト。外部問合せやPL/SQLライブラリは、モジュールの例。2. Form Builderでは、アプリケーションの主要なコンポーネント（メニュー・モジュール）。


いくつかの行に渡るウィンドウ内のフィールド、またはダイアログ。情報を垂直にスクロールさせることが可能である。


（Oracle Express） データが"使用できない（"not available"）（NA）ことを示す特別なデータ値。NAは、特別なデータ値が割り当てられていないまたはデータを計算できない任意のセルの値である。


横方向または縦方向（あるいはその両方）のディメンションに1つ以上のマスター/ディテール関係が含まれるマトリックス・レポート。ネストできる量に制限はない。


データ上のページが（フェッチしてからフォーマットされるまでキャッシュするのではなく）、フォーマットされてからフェッチされるデータ型。


1.  オブジェクト・ナビゲータのオブジェクト階層内の特定の位置。ノードは、他のオブジェクトへのクロス・リファレンスなどのオブジェクトの情報を表示するために拡張できる。2.  Project Builderにおけるプロジェクト・ナビゲータ内のエントリ。「項目（item）」、「項目ノード（item node）」および「編成ノード（organization node）」も参照。


データ型NOCACHEのデータベース列を参照するレポート列。


値がないこと。


（Oracle Express）

^	指数

-,+	単項のプラスおよびマイナス

*, /	数値乗算または除算。除算の場合、結果はDOUBLE型。

\	整数の除算。オペランドはＩNTEGER型またはLONG型。

Mod	係数または剰余。オペランドはＩNTEGER型またはLONG型。

-, +	数値の加算と減算。+演算子は文字列の連結にも使用できる。


1.  レイアウト上に配置できる項目。オブジェクトの例は次のとおり。四角形および、線、楕円、円弧、多角形、折れ線、丸い四角形、手書き、チャート、テキスト、記号、テキスト・フィールドなどのオブジェクト。

2. Oracle8では、オブジェクト・タイプのインスタンス。オブジェクトは、オブジェクト表内の行であったり、リレーショナル表内の列オブジェクトに含まれる行の一部であったりする。


「列オブジェクト（column object）」を参照。


関連するオブジェクトのコピーや参照を行う機能の提供に使用する、オブジェクト・グループのコンテナ。


「ハンドル（handle）」を参照。


現行セッションのオブジェクトの階層リストが入ったウィンドウ。リストはアウトライン形式で表示され、ユーザーはオブジェクトの作成、編集、改名および削除などの複数の作業を実行できる。


Oracle8において、定義がオブジェクト・タイプに基づいている表のこと。オブジェクト・タイプ内の各属性は、オブジェクト表内の列になる。表内の各行は、個々のOracle8オブジェクトである。


Oracle8において、オブジェクト作成の基盤となる、ユーザーが提供する定義またはテンプレート。オブジェクト・タイプは複合であり、その構成要素が属性である。各属性は名前とデータ型を持ち、オブジェクト・タイプ全体として名前を持つ。オブジェクト・タイプには1つ以上のメソッドが含まれる場合もある。


Open Database Connectivityの略称。異なるデータベース・システムをアクセスするための基準。アプリケーションは、SQLのODBC仕様によりODBCに対し文を送ることができる。ODBCはその文をデータベースが理解できる仕様に変換する。Oracle Open Client Adapter（OCA）により、アプリケーションは異なるデータベース管理システムを一貫した方法でアクセスできる。このためアプリケーション開発者は、特定のDBMSを対象とすることなくアプリケーションの開発、コンパイルおよび実行を行うことができる。


Object Linking and Embeddingの略称。


OLEオブジェクトの保管と表示が可能なアプリケーション。


OLEオブジェクトを作成するアプリケーション。


「ビルトイン・データ型（built-in datatype）」を参照。


Oracle製品のルート・ディレクトリを示す環境変数。


ナビゲータの設定や子項目のファイル・タイプの指示に役立つ、「タイプ」、「プロジェクト」、「フォーム・ファイル」などのプロジェクト・ナビゲータ内のエントリ。これはまた、特定のタイプのファイル・システム・オブジェクト内のデータ構成体に対応する。


x座標とy座標により示される。ビューの原点は、その親のキャンバス上のビューの位置を示す。キャンバスの原点は、描画ビュー上の描画の位置を示す。


オブジェクトを完全に囲む最少の仮想の四角形。


オブジェクトの内容が現行の論理ページに入りきらない状態。オーバーフローが発生すると、内容の一部が次の論理ページに移される。


プログラム単位内のあらゆる位置で参照可能な、ソフトウェアで提供されるPL/SQL関数。


関連するプロシージャ、ファンクション、変数およびその他のパッケージ要素をデータベースまたはクライアント内に1つの単位としてカプセル化し保管する方法。パッケージにより、データベース管理者やアプリケーション開発者の、編集作業が容易になると同時に、機能性とデータベースのパフォーマンスも向上する。ソフトウェアでは、クライアント側のプログラム単位によって参照されるPL/SQL構成体を含むビルトイン・パッケージがいくつか提供されている（TEXT_IOパッケージなど）。いくつかのパッケージには、ストアド・プログラム単位の参照用にOracleデータベース・サーバーも提供されている（DBMS_OUTPUTパッケージなど）。


パッケージの実際のインプリメンテーションを含む。これは、個別のサブプログラムおよびデータ型を含む場合がある。パッケージが宣言のみで構成される場合、本体はオプション。


パッケージに対する公開インタフェース（他のプログラム単位により参照可能なデータ型およびサブプログラム）を宣言する。


（Oracle Express） 1. レポート内に含まれる1つのデータ。追加ページによって追加データが表示される。

次の図は3ページ分のデータを示す。

2. Expressにおいて、ページはExpressデータベース内の格納単位も意味する。


（Oracle Express） 問合せについて選択したデータがスプレッドシート内でどのように表示されるかを表したもの。ページ・レイアウトによって、「横」、「縦」および「ページ」の3つの枠が表示される。問合せによって定義されるマルチディメンションのデータキューブが、2次元のスプレッドシート内でどのように表示されるかが、これらの枠によって示される。ディメンション・タイルには、ディメンションの名前と位置が表示される。「横」枠上のディメンションは、このディメンションが列として表示されることを意味する。「縦」枠上のディメンション・タイルは、このディメンションが行として表示されることを意味する。「ページ」枠上のディメンションは、このディメンションが結果の最上部にあるページ・ボックス内に表示されることを意味する。


現行のオブジェクトとその子を次の論理ページに移動するかどうかを制御する設定。レポート出力に現行オブジェクトが表示される前または後に、ページ・ブレークが発生するように設定できる。


エディタ内で利用できるツール、色またはパターンを表示するインタフェース要素。


作業が行われる、エディタの固有の位置で、通常サイズの変更が可能。


1つの論理ページを印刷するのに必要な物理ページの数。


1. 情報をサブプログラムに渡すのに使用されるPL/SQL構成体。たとえば、サブプログラム・コールMYPROC（x）では、xがパラメータ。2. Forms Developerでは、パラメータは情報をForm BuilderやGraphics Builderなどのコンポーネント間で渡すのに使用される。3. 実行時に変更可能な変数。


Forms Developerコンポーネント間で情報を渡すのに使用される、パラメータ名と関連する値のグループ。


1. そのグループ・ツリー内のあるオブジェクトのすぐ上位のオブジェクト。グループ・オブジェクトは、それを構成する各オブジェクトの親である。どのオブジェクトも、その子の親になる。
2.（Oracle Express）階層内において特定値のすぐ上のレベルにあるディメンション値。親値は、その子の値の集約合計である。次の例は、GEOGRAPHYディメンションにおいて、"Lyon"と"Paris"の親としてのディメンション値"France"を示す。


クリップボードの内容（カットまたはコピーされたオブジェクト）を現行のカーソル位置に入れること。


ほとんどのオブジェクトの枠または塗りに適用できる、図形プロパティ。


コンパイルされたプログラム単位に対するマシン・コードまたは指示リスト。


Portable Document Formatの略称。ドキュメントの作成に使用された元のアプリケーション・ソフトウェア、ハードウェアおよびオペレーティング・システムとは無関係にドキュメントを表現する（Adobe Acrobatに固有の）ファイル形式。PDFファイルは、テキスト、図形およびイメージのあらゆる組合せが入ったドキュメントを、デバイスや解像度から独立した形式で表現できる。


プリンタに出力されるページのサイズ。


横棒、線、記号のような、チャート上のフィールドの表示に使用される要素のタイプ。


SQL言語に対するOracle専用の拡張。SQLに対しアプリケーションの記述に適するようにプロシージャ型構成体やその他の構成体を追加している。


Procedure Builderインタプリタのスクリプト・ファイル。


ソース・コードとコンパイル済みコードを含むPL/SQLライブラリ・ファイル。ファイルはProcedure Builderでオープンして編集できる。


1つのプログラム単位のPL/SQLソースを含むテキスト・ファイル。


実行可能コードのみを含むランタイムPL/SQLライブラリ・ファイル。ファイルをProcedure Builderでオープンして編集することはできない。


ユーザーが特定のアクションを実行する際にポップアップするリスト。


転送されたデータと特定のプログラム間の経路を定めるためにTCPが使用する番号。


Project Builderに付属しておりメニュー項目またはツールバー・ボタン（あるいはその両方）で自動的に利用できるアクション。事前定義済みアクションには、「ビルド」および「配布」、複数のソース制御オプションが含まれる。事前定義済みアクションは、サポートされているファイル・タイプに定義されると、Project Builderからコールすることにより、そのタイプの任意の選択項目に対して起動される。「アクション（action）」、「ユーザー定義アクション（user-defined action）」も参照。


「ビルトイン・データ型（built-in datatype）」を参照。


アプリケーションのインタフェースの動作に影響する設定。


（Oracle Express） 現行の基準を受け入れる場合に生成されるスクリプトを表示する。任意の「セレクタ」ツールのダイアログ・ボックスでは、「プレビュー」ボタンを選択することにより、選択項目のプレビューを表示できる。


レポート出力のアウトラインを表示しスクロールできるインタフェース。


表内の行の識別に使用できる一意の値で内容が構成された、データベース表内の列。


「ビルトイン・データ型（built-in datatype）」を参照。


プリンタ定義ファイルでは、レポート内で参照できるプリンタ・コードを割り当てるエスケープ・シーケンス。


プリンタ定義がテキスト形式（ASCIIやEBCDICなど）で入ったファイル。


指定されたアクション・シーケンスを実行するPL/SQLサブプログラム。クライアントおよびデータベース・サーバーに存在し、実行することができる。


PL/SQLコンパイラが独自に認識して処理できるPL/SQLコード構造。無名ブロック、サブプログラムの仕様部と本体（プロシージャおよびファンクション）、パッケージの仕様部と本体などがある。プログラム単位は、クライアントおよびデータベース・サーバーに存在し、実行できる。｢ストアド・プログラム単位（stored program unit）｣も参照。


Project Builderにより作成される基本的なデータ構造。プロジェクトは、アプリケーションの一部と見なしている、または概念的にグループ分けするすべてのファイルに対するポインタの集合である。エディタ、コンパイラまたは他のツールを定義して、プロジェクト内に含まれる項目を操作できる。すべてのプロジェクト情報はプロジェクト・レジストリ内に格納される。「プロジェクト項目（project item）」、「プロジェクト・ファイル（project file）」および「エクスポート（export）」も参照。


Project Builderにおいて、プロジェクト・ファイルは、アプリケーションに関連付けられたすべてのファイルを指す。プロジェクト・ファイルには、フォーム、レポート、ディスプレイ、3GLモジュール、ドキュメントおよびテスト・スクリプトを含む、あらゆるタイプがある。「プロジェクト（project）」、「プロジェクト項目（project item）」も参照。


Project Builderにおいて、プロパティを定義できるすべての項目を指す。これには、「プロジェクト」ノード下に格納されたすべてのエンティティ、タイプ、アクションおよびマクロも含まれる。「プロジェクト（project）」、「プロジェクト・ファイル（project file）」も参照。


現行セッションのプロジェクト項目の階層リストを含むウィンドウ。リストはアウトライン形式で表示され、ユーザーはオブジェクトの作成、編集、改名および削除などの複数の作業を実行できる。いつでも表示できるのは1つのみだが、オブジェクトの編成に使用される2つの異なるスキーマから選択できる。


プロジェクトのトップ・レベルのノード。プロジェクト・ファイルを表示または指示する。「プロジェクト（project）」、「プロジェクト・ファイル（project file）」も参照。


Project Builderにおいて、プロジェクトに関連付けられたすべての情報を格納するファイル。プロジェクトに属するファイル、タイプ、アクションおよびプロジェクトについて定義されたマクロなどが含まれる。プロジェクトに属するファイル、タイプ、アクションおよびプロジェクトについて定義されたマクロなどが含まれる。


プロジェクト表示は、タイプ、およびプロジェクトとサブプロジェクトの関係により編成されるオブジェクトを表示する。プロジェクトは、プロジェクト・ファイルごとにアルファベット順に編成されてから、カテゴリごとにアルファベット順に編成される。「依存性表示（dependency view）」、「プロジェクト（project）」、「プロジェクト・ファイル（project file）」、「ビュー（view）」も参照。


ユーザーが新規プロジェクトまたはサブ・プロジェクトの作成に必要なステップを完了するのを支援するダイアログ。


オブジェクトの動作または外観を決定する、オブジェクトの特性。


クラスに基づいたオブジェクトの外観と機能性をグローバルに制御するために使用するプロパティとその設定のリストを含む、ユーザー命名オブジェクト。


データベースまたはサーバーに接続する際に入力できる文字列で、リモート・データベースまたはサーバーへの接続を可能にする。


（Oracle Express） 基準内のいずれかのディメンションの値を選択するとき、その基準を構成する他のディメンションは修飾ディメンションと呼ばれる。

「販売」基準が「製品」、「月」および「地域」別にディメンション化されていると仮定する。「販売」に基づく上位10都市を選択する場合、「販売」値を比較するには、比較の対象となる製品と月も指定する必要がある。この場合、「製品」と「月」は、修飾ディメンションである。


データベースの1つ以上の表またはビューから検索するデータを指定する、SQL SELECT文。


実行時に、問合せにより取り出されたデータのフィルタリングを行うPL/SQL関数。ファンクションの条件を満たすデータのみをチャートにする。


現行セッションを終了しユーザーをオペレーティング・システムに戻すオプション。一部のシステムでは、「終了（Quit）」は「終了（Exit）」になる。


2つ以上のセットで表示される（チェックボックスに類似した）制御であり、一定の時間において「オン」または「オフ」となるのはそのうちの1つのみである。


2つ以上のラジオ・ボタンのセットであり、一定の時間において「オン」または「オフ」となるのはそのうちの1つのみである。


（Oracle Express） 連続する時間間隔をディメンション値として選択できる「セレクタ」ダイアログ・ボックスのツール。これらの時間間隔は、次のいずれかを基準にすることができる。

•	最も最近の時間間隔の具体的な数

•	開始時間間隔と最も最近の時間間隔

•	開始および終了の時間間隔

たとえば、1996年11月25日で終わる週から、1996年12月30日で終わる週までの範囲で、ディメンション値を選択するといった操作もできる。


RSA Data Security, Inc.により考案された暗号法であり、任意の長さのキーを認める。これは基本的に、暗号データを作成するためにデータ・ストリームにより排他的論理和が行われているジェネレータの出力を使用する、偽のランダム番号のジェネレータである。このため、2種類のデータ・ストリームを暗号化するのに同じRC4キーを使用しないように十分注意する必要がある。


Relational Databasse Management System（リレーショナル・データ・モデルに基づいたデータベース管理システム）の略称。データ構造、格納と検索操作、および整合性制約の定義が行うことができるデータベース。このようなデータベースでは、データとそれらの間の関係は表で編成される。


単一のバイナリ形式のレポート定義を含むファイル。.RDFファイルは、レポートの実行と編集の双方に使用される。


単一のバイナリ形式のレポート定義を含むファイル。.repファイルは、レポートの実行にのみ使用される。.repファイルを編集できない。


ある時点において、データベース全体でデータを問い合わせる能力。


SQL SELECT文によりフェッチされる1行。


列と行構造による内部的なデータ構造オブジェクトで、それらが定義されるフォーム・モジュールに属する。


他の列オブジェクト内またはオブジェクト表内のデータを参照する列のタイプ（Oracle8）。


チャート上の指定された値の位置に表示される線。


（Oracle Express） 問合せ結果をレポートに表示した後、Expressデータベースから最新のデータをフェッチする。保存されたExpress問合せをオープンすると、結果は自動的にリフレッシュされる。


タイプまたは新規プロジェクトの定義をグローバル・レジストリまたはローカル・レジストリに追加すること。登録されると、新規のタイプにはアクションを定義でき、新規のプロジェクトでは参照ファイルを特定のタイプとして識別させ、そのタイプに対してアクションを起動できる。「レジストリ（registry）」も参照。


プロジェクト定義および環境情報を格納した、グローバルな構造ファイルまたはユーザー固有の構造ファイル（あるいはその両方）。「グローバル・レジストリ（Global Registry）」、「ユーザー・レジストリ（user registry）」も参照。


"WHERE DEPTNO = 10"内の等号など、2つの値間の比較を示す検索条件に使用される記号。比較結果が"TRUE"となる行は結果が返され（フェッチされ）、比較結果が"FALSE"となる行は結果は返されない。


コンピュータ上の、ローカル・データベース以外のデータベース。通常、同じネットワーク上にあるが、ノードが異なるコンピュータ（つまり、データベース・リンクを介して使用するデータベース）。


グループのためにフェッチされるデータ行の表示に使用されるレイアウト・オブジェクト。


入力する各文字がカーソル位置の現行の文字を置換するモード。挿入モードの反対。


レポートのデータ・モデルとレイアウトの定義に使用されるオブジェクト。レポート・レベルのオブジェクトは、1つのレポートに割り当てられ、他のレポートまたは他のOracle製品とは共有できない。オブジェクトには、レポート、問合せ、外部問合せ、外部PL/SQLライブラリ、グループ、列、パラメータ、リンク、枠、繰返し枠、フィールド、ボイラープレートおよびアンカーが含まれる。


Windows NTおよびWindows95でのみ利用可能。コマンド・ラインがレポートを実行するのを待機し、ローカル・サーバー上のバックグラウンドで実行するためそのレポートをそのキューに入れる。通常コマンド・ラインは、RUN_PRODUCTを介してForm BuilderまたはGraphics Builderから、あるいはSRW.RUN_REPORTを介して別のレポートから受け取られる。RWISV60を使用し、レポートをReportsバックグラウンド・エンジンに送ることもできる。


タイムスタンプおよびReports Serverにより管理されるレポートに関するステータス情報をメンテナンスする。


Windows NT、Windows95およびUNIXで利用可能。リモート・サーバー上でのレポートの実行を可能にする。ジョブ要求をキューに登録し、レポートをいつ実行するか計画できる。レポートをReports Serverに送るには、RWCLI60を使用する。


WebサーバーとReports Runtime間のインタフェースを提供し、レポートをWebブラウザから動的に実行することを可能にする。


WebサーバーとReports Serverの間の接続を提供する。


テキスト形式（ASCIIやEBCDICAなど）で格納された、レポート定義を含むファイル。.REXファイルは、レポートを1つのプラットフォームから別のプラットフォームに移植するのに使用する。.REXファイルは、現時点では必要ではないことに注意する。このファイルは、下位互換性のために利用できる。


色のコンポーネント、赤、緑および青の濃度を示す。


アプリケーション内の他のすべてのオブジェクトが属するグループ・オブジェクト。


ユーザー環境を表す、プロジェクトの最上位のノード。デフォルトの設定にどのレジストリが選択されているかによって、ユーザー・レジストリまたはグローバル・レジストリに対応する可能性がある。


1. 表内のフィールド値の1組。たとえば、サンプル表EMPにおける1人の従業員を表すフィールド。

2. アプリケーションのランタイム・バージョンを生成する。


Oracle8オブジェクト表内のオブジェクト。表内の各行がオブジェクトになる。ただし、Forms Developerにおいて、オブジェクト表は個々の列に分解されるため、行オブジェクトは1つのエンティティとして存在しない（個別の属性としてのみ存在する）。


アプリケーションまたはプログラム単位のランタイム・バージョンを実行する。


リッチ・テキスト形式の略称。プラットフォームに特定されないファイル形式で、書式化されていないテキストやイメージをさまざまなアプリケーションおよびオペレーティング・システムで表現するのに使用される制御文字に基づいている。RTFは、ANSI、PC-8、MacintoshまたはIBM PCのキャラクタ・セットを使用して、スクリーン表示や印刷において文書の表現と書式化を行う。


「REPファイル（rep file）」を参照。


ユーザーがその中でランタイム・アプリケーションの表示とランタイム・アプリケーションとの対話を行うインタフェース。


実行時にオプションで表示される画面またはウィンドウであり、この中でユーザーはレポートの実行に先立ち印刷オプションやパラメータの変更を行うことができる。


（Oracle Express） 値のリストまたはスクリプトとして保存された一連のディメンション値。ユーザーは自分で作成した選択項目を保存したり、データベース管理者は保存済みの選択項目を作成して、ユーザーが利用できるように提供できる。

保存済みの選択項目は時間短縮の機能を果たす。つまり、選択項目を再利用する必要があるたびに、保存された選択項目を再作成することなく、取り出すことができる。つまり、選択項目を再利用する必要があるたびに、保存された選択項目を再作成することなく、取り出すことができる。


（Oracle Express） 保存されたディメンション値の選択項目を取り出すことのできるセレクタ・ツール。


通常データベースのユーザーIDによりグループ化されている、関連するデータベース・オブジェクトの集まり。スキーマ・オブジェクトには、表、ビュー、順序、ストアド・プログラム単位、シノニム、索引、クラスタおよびデータベース・リンクが含まれる。


オブジェクトが作動するレベルまたは範囲。Project Builderでは1. コンパイル可能なプロジェクト項目に対して起動された「ビルド」および「すべてをビルド」コマンドによって、影響されるファイルの範囲を記述する。

2. 継承可能な定義によって影響されるファイルの範囲を記述する。


「SQLスクリプト（SQL script）」、「インタプリタ・スクリプト（Interpreter script）」を参照。


Report Builderにおける同一レポート内の複数のレイアウトのいずれかで、それぞれ異なる対象読者、出力形式、ページ・レイアウト、ページ・サイズまたは印刷の向きを持つ。たとえば、1つのレポートで、あるセクションには上級管理職向けの業務要約を記載し、別のセクションには個々の管理者用の詳細な業務分析を記載できる。


1つ以上の表またはビューからどの行と列をフェッチするかを指定するSQL文。


（Oracle Express） ディメンションについて現在選択されている一連のディメンション値またはそれらの値を指定するための条件や基準を含むスクリプト。


（Oracle Express） セレクタ内のさまざまなダイアログ・ボックスで表示される、ディメンション値の選択において、ユーザーが選択した項目の説明。Express言語スクリプトを通常の言語で翻訳したもの。


（Oracle Express） レポート、表、グラフまたはディメンションの各リスト・ボックスに含めるディメンション値を選択するための一連のツール。たとえば、セレクタを使用すると、「販売」に基づく上位10都市を選択したり、「販売」が「割当額」を15パーセント超えた上位10都市を選択できる。セレクタを使用することにより、ディメンション値のソート、および保存済み選択項目の作成と取出しも行うことができる。


（Oracle Express） ディメンション値を選択またはソートするための特定の方法を提供するダイアログ・ボックスまたはそのグループ。各セレクタ・ツールは、セレクタの構成要素である。セレクタ・ツールを使用することにより、階層内のレベル、属性または値名内の文字などを基準にしてディメンション値を選択できる。セレクタ・ツールを使用して、ディメンション値をソートすることもできる。


実行可能プログラムの起動と終了の間の期間。


グループ・ツリー内で同じ親オブジェクトをもつ2つ以上のオブジェクトの1つ。1つのグループ・オブジェクトに属するオブジェクトは、すべて同位項目である。


IPアドレスとポート番号の組合せ。


（Oracle Express） 表示された選択項目内で、ディメンション値の順序を並べ替えることのできる「セレクタ」ダイアログ・ボックスのツール。次の項目を基準にして、選択項目を昇順または降順にソートできる。

•	アルファベット

•	データベース内における順序

•	データ値

•	階層内の順序またはレベル

•	時間間隔

ディメンション値をドラッグ・アンド・ドロップすることにより、選択項目を手動でソートすることもできる。


PL/SQLでは、サブプログラムまたはパッケージ内で提供される文。プログラム単位のソース・コードを持っていなければ、それを実行可能な形にコンパイルすることはできません。Project Builderでは、ターゲットの種類の構築に必要な入力タイプ。サブプログラムの名前、パラメータおよび戻り型（ファンクションへの適用のみ）のみを定義する。


サブプログラムの名前、パラメータおよび戻り値の型（ファンクションへの適用のみ）のみを定義する。


エディタ内の、垂直スクロール・バーの下と、水平スクロール・バーの左にある小さな四角形。マウス・ボタンをドラッグして離すと、新規のペインが作成され、スクロール・バーはそれぞれのペイン用に分割される。


リレーショナル・データベースにおける情報の格納と検索のための標準インタフェース。SQLは、Structured Query Language（構造化問合せ言語）の略称。


テキスト形式（ASCIIやEBCDICなど）に格納された問合せを含む。


データベース管理を素早く簡単に行うSQL文を含むファイル。SQLスクリプトの一部は、Oracle製品に付属している。


Oracleに対するSQLの指示。SELECT文は、SQL文の一種。


「コール･スタック（call stack）」を参照。


条件制御、繰返し制御、逐次制御およびエラー処理に使用されるPL/SQL構成体。各PL/SQL文の最後には、必ずセミコロン（;）を付ける必要がある。


（Oracle Express） 評価されるたびに同じディメンション値を含む保存済みの選択項目。静的な保存済み選択項目では、選択基準ではなく、選択されるディメンション値がリストされる。たとえば、静的な保存済み選択項目のスクリプトには、"Select February 1996, March 1996, and April 1996"などのように文が記述され、動的な保存済み選択項目のスクリプトでは、"Select the last three Months"といったように文が記述される。


Oracleデータベース・サーバーに存在し、Oracleデータベース・サーバーで実行されるプロシージャ、ファンクションまたはパッケージ。


Oracleデータベース・サーバーに存在し、Oracleデータベース・サーバーで実行されるプロシージャまたはファンクション。


HTMLドキュメント内でフォーマットの強力な柔軟性を提供するHTMLの拡張機能。スタイル・シートを利用するHTMLドキュメントを探し、それをスタイル・シートをサポートするブラウザに表示する。


PL/SQLプロシージャまたはPL/SQL関数。


Project Builderにおいて、それ自身のファイル内に格納されているのではなく、他のプロジェクトファイル内に含まれるプロジェクト。「プロジェクト（project）」も参照。


Project Builderにおいて、サブプロジェクトを示すノード。「プロジェクト（project）」、「プロジェクト・ノード（project node）」および「サブプロジェクト・ノード（subproject node）」も参照。


集計タイプの列。Report Builderにより提供されているパッケージ化された集計ファンクションの1つを使用し、レポート内のデータのサブ合計、グランド合計、実行合計およびその他のデータ集計を計算する。


Microsoft Excelプログラムで使用されているファイル形式。


コマンド、修飾子およびパラメータが結びつけられて有効なコマンド文字列を形成する規則的なシステム。


Reports Developerで提供されている変数の1つ（&Logical Page、DESTYPEなど）。


リレーショナル・データベースまたはサーバーで行と列から構成される2次元の格子に格納される、関連する情報の名前付き集合。


コレクション・タイプの一種で、すべてが同じデータ型を持つ、順序付けのされていない一連の要素で構成されるデータ単位を定義する。対応するデータ単位は、1つの列がネストされた表で、その列タイプはビルトイン・タイプまたはオブジェクト・タイプである。（Oracle8）


ページの最上部にラベルを、ラベルの下にデータ行を表示するデフォルト・レイアウト。


Project Builderにおける依存ツリー内のあらゆる項目。たとえば、実行可能プログラムはライブラリの（コンパイル）ターゲット、ライブラリはオブジェクトのグループのターゲット、そしてオブジェクトはソース・ファイルのターゲットである。


ターゲットを示すノード。「ターゲット（target）」も参照。


Transmission Control Protocol（伝送制御プロトコル）の略語。クライアントとWebサーバー間のHTTP要求を交換するための基礎的な通信プロトコル。


マウスやその他のポインティング・デバイスを使用しユーザーがそのソースから削除して表示画面の別の位置へドラッグできるサブメニュー。


Form Builderにおいて、文字列の値を表示する項目。


アプリケーション名やそのウィンドウ内のインタフェース要素を表示する、ウィンドウの最上部の水平領域。


「ヘッダー（header）」を参照。


設定を交互にオンまたはオフに切り替えること。たとえば、オブジェクト・ナビゲータを隠したり表示できる。


アプリケーション内でオブジェクトの作成と操作に使用するアイコン・ボタン。


製品コマンドを実行するアイコン・ボタンの集合。通常、ウィンドウの一番上に沿って水平に並んでいるか、横に垂直に並んでいる。


ツールの集合。


（Oracle Express） 上限xと下限yまたは上限xと下限yのデータ値を基準にしてディメンション値を選択できる「セレクタ」ダイアログ・ボックスのツール。たとえば、1995年12月30日で終わる4週間の時間間隔において、「米国内」で生産された製品のうち、販売量が上位10パーセントに入る製品を含むディメンション選択項目を生成できる。


テキスト、図形、データ、計算など、レポートについての最終内容を入れることができるオプションのレポート領域。レポート・トレーラは、ヘッダーとボディに続いて最後に表示される。


1つの単位として扱われる一連のSQL文。


特定のイベントに従って実行または「起動」されるPL/SQLプロシージャ。


タイプ名や説明などの情報が入った、フォームやドキュメントなどのファイル・タイプの説明。各説明は1つのファイル・タイプに当てはまる。また、4つのメタ・タイプもある。"updtext"は、すべてのテキスト・ファイルに適用される。"updproj"は、すべてのプロジェクト・ファイルに適用される。"updlink"は、すべてのプロジェクト・リンクに適用される。"all"は、すべてのファイル・タイプに適用される。"updtext"は、すべてのテキスト・ファイルに適用される。"updproj"は、すべてのプロジェクト・ファイルに適用される。"updlink"は、すべてのプロジェクト・リンクに適用される。"all"は、すべてのファイル・タイプに適用される。タイプは、アクションやマクロを定義する基礎となる。


表データの値を変更すること。特に、SQLコマンドUPDATEによるデータ値の変更、SQLコマンドDELETEによる値の削除、またはコマンドINSERTによる値の挿入。


Uniform Resource Locatorの略称。WWWサーバーおよびホーム・ページの指定に使用される「アドレス」。たとえば、http://www.acme.com/。
この例は、ホストのアドレスがwww.acme.comであることを示す。一般に、URLはファイル名である（長いパスをもち、拡張子.HTMLまたは.HTM（PC-DOSファイル名の場合）が通常付く）。


Forms Developerからの制御（および引数）を別のOracle製品または3GLに渡し、続いて制御（および引数）をForms Developerに戻す方法。


Project Builderユーザーにより定義されるカスタム・アクション。このようなアクションは、任意の1つのファイル・タイプまたはすべてのファイル・タイプに適用できる。「アクション（action）」、「定義済みアクション（pre-defined action）」も参照。


「オブジェクト・タイプ（object type）」を参照。


Project Builderユーザーにより定義されるカスタム・マクロ。このようなマクロは、ビルトイン・アクションとユーザー定義アクションの両方を変更するのに使用することができる。「マクロ（macro）」、「ビルトイン・マクロ（built-in macro）」、「アクション（action）」および「定義済みアクション（pre-defined action）」も参照。


構成情報をユーザーごとに格納するプロジェクト・ファイル。これによってユーザーは、個々の開発環境をカスタマイズできる。ユーザー・レジストリは、グローバル・レジストリからタイプ情報を継承するほか、新規タイプを定義したり、グローバル・レジストリに格納されているタイプ定義の一部を上書きすることもできる。また、ユーザー設定による接続文字列、「ツールバー表示」のようなUI設定、および「作成者」のような一般的なプロジェクト情報など、環境情報および作業環境情報も格納する。「レジストリ（registry）」、「グローバル・レジストリ（Global Registry）」も参照。


「値軸（continuous axis）」を参照。


値を返すPL/SQLコード構造。値構成体には、ファンクションと式が含まれる。


値を割り当てることができ、割り当てられた値が時間がたつにつれ変化する可能性があるユーザー命名オブジェクト。


コレクション･タイプの一種で、すべてが同じデータ型を持つ、順序付けされた一連の要素で構成されるデータ単位を定義する。対応するデータ単位は、可変配列つまりVARRAYである。VARRAY（サイズ）内の要素数は可変である。ただし、可変配列型を宣言するときは、最大サイズを指定する必要がある。


Visual Basic extensionの略称。事前定義済みのVBXコントロールを含むファイル上に分配された特定のダイナミック・リンク・ライブラリのファイル拡張子として使用される。


Microsoft Visual Basic言語で構築されたウィジェット。ユーザー・インタフェースの拡張、ユーザー入力の取得、および出力（スライダ、格子、制御ノブなど）の表示に使用される。


その行がデータベース内に実際に存在しないが、データベースに物理的に格納されている表に基づいている仮想的な表。


仮想ファイル・システムがホスト・マシン上のファイル・システムに格納されたファイルをマッピングするのに使用する、ディレクトリ・ニーモニック（本来、ショートカットまたは略称）。


URL内で使用されているパス名を、ホスト・マシンのオペレーティング・システムによりメンテナンスされているファイル・システムに関連付けるマッピング。


アプリケーション・インタフェース内に現れるオブジェクトに対し設定する、フォント、色およびパターンのプロパティ。


「WWW」を参照。


エンド・ユーザーが（Webサーバーによりサービスされる）コンピュータ上に保管されているHTMLドキュメントおよびプログラムを読むために利用するプログラム。


Web Request Brokerを介してWebサーバー上で実行されるプログラム。


リモートWebブラウザのHTTP要求に応答してWebページを送信する、Webサイトで稼働しているサーバー・プロセス（HTTPデーモン）。


ワードまたはフェーズ内で「任意の1文字」または「隣り合うキャラクタ・セット」を意味するために使用される文字。


1. アプリケーションが入った、デスクトップの四角形の領域。各ウィンドウには、アプリケーションと対話できる領域がある。ウィンドウは、オープン、サイズ変更、移動、アイコンへの縮小、デスクトップ全体への拡張ができる。2. Form Builderにおいて、キャンバス・ビューと関連付けることができるオブジェクト・タイプ。


SQL*CalcやLotus 1-2-3プログラムなどのスプレッドシート・プログラムで使用されているファイル形式。


Oracle Web Request Brokerの略語。Web用のアプリケーションの開発と実行に、強力な分散した実行時環境を提供する。WRBランタイム・プラットフォームにより、アプリケーション開発者は、Webサーバーから独立したアプリケーションや多くのWebサーバーと共に稼働するアプリケーションを記述することができる。


World Wide Webの略語。インターネット上のサーバーのネットワークであり、サーバーのそれぞれが1つ以上のホームページをもつ。ホームページは、そのサーバーまたは他のサーバー（通常こちら）上の他のドキュメントに対し情報やリンクを提供する。


フィールドの内容を編集するため、オブジェクトを拡大し表示領域を広げること。


（デフォルトで）descriptionプロジェクト・ナビゲータの左に表示された2番目のツールバー。簡単な編成およびアプリケーション起動機能がある。


 OLEコントロール（OCX）の最新バージョン。


適切なタギング、ネスティングおよびXML宣言（<?xml version="1.0" encoding="UTF-8"?>など）の組込みなどの一般的なXML原理に従うXML出力。


プレースホルダ・ユーザー名を使用すると、Webブラウザからレポートを実行するときに、Oracelデータベースのユーザー名（$user_name@databaseなど）ではなく、個人ユーザー名を使用してデータベースにログオンできる。


ＸML（Extensible Markup Language）。SGMLを使用して、データを定義および構築するメタ言語。Report Builderは、XML出力をサポートして、Webパブリッシングおよびサードパーティーのアプリケーションとの電子的データ交換を可能にする。また、XMLを使用して、実行時に他のレポート定義とマージすることができるレポート定義を作成することも、文書型定義（DTD）に従う構造および要素の内容を持つXML出力を別々に実行することもできる。


文書型定義（DTD）に準拠する構造および要素内容を持つ、XMLによる出力。有効なXMLは、適切に構成されている。


Developerビルトイン・パッケージの例

  関連項目	   すべての例

DDEパッケージの例

DEBUGパッケージの例

EXEC_SQLパッケージの例

LISTパッケージの例

OLE2パッケージの例

ORA_FFIパッケージの例

ORA_NLSパッケージの例

ORA_PROFパッケージの例

TEXT_IOパッケージの例

TOOL_ENVパッケージの例

TOOL_ERRパッケージの例

TOOL_RESパッケージの例


DDEパッケージの例

  関連項目	  すべての例

DDE.App_Begin

DDE.App_End

DDE.App_Focus

DDE.Execute

DDE.Getformatnum

DDE.Getformatstr

DDE.Initiate

DDE.IsSupported

DDE.Poke

DDE.Request

DDE.Terminate


DEBUGパッケージの例

  関連項目	   すべての例

Debug.Break

Debug.Getx

Debug.Interpret

Debug.Setx

Debug.Suspend


EXEC_SQLパッケージの例

  関連項目	   すべての例

EXEC_SQL.Open_Connection

EXEC_SQL.Curr_Connection

EXEC_SQL.Default_Connection

EXEC_SQL.Open_Cursor

EXEC_SQL.Parse

EXEC_SQL.Describe_Column

EXEC_SQL.Bind_Variable

EXEC_SQL.Define_Column

EXEC_SQL.Execute

EXEC_SQL.Execute_And_Fetch

EXEC_SQL.Fetch_Rows

EXEC_SQL.More_Result_Sets

EXEC_SQL.Column_Value

EXEC_SQL.Variable_Value

EXEC_SQL.Is_Open

EXEC_SQL.Close_Cursor

EXEC_SQL.Is_Connected

EXEC_SQL.Is_OCA_Connection

EXEC_SQL.Close_Connection

EXEC_SQL.Last_Error_Position

EXEC_SQL.Last_Row_Count

EXEC_SQL.Last_SQL_Function_Code

EXEC_SQL.Last_Error_Code

EXEC_SQL.Last_Error_Mesg


LISTパッケージの例

  関連項目	   すべての例

List.Appenditem

List.Destroy

List.Deleteitem

List.Fail

List.Getitem

List.Insertitem

List.Listofchar

List.Make

List.Nitems

List.Prependitem


OLE2パッケージの例

  関連項目	   すべての例

OLE2.Add_Arg

OLE2.Add_Arg_Obj

OLE2.Create_Arglist

OLE2.Create_Obj

OLE2.Destroy_Arglist

OLE2.Get_Char_Property

OLE2.Get_Num_Property

OLE2.Get_Obj_Property

OLE2.Invoke

OLE2.Invoke_Num

OLE2.Invoke_Char

OLE2.Invoke_Obj

OLE2.IsSupported

OLE2.Last_Exception

OLE2.List_Type

OLE2.Obj_Type

OLE2.OLE_Error

OLE2.OLE_Not_Supported

OLE2.Release_Obj

OLE2.Set_Property


ORA_FFIパッケージの例

  関連項目	   すべての例

Ora_Ffi.Ffi_Error

Ora_Ffi.Find_Function

Ora_Ffi.Find_Library

Ora_Ffi.Funchandletype

Ora_Ffi.Generate_Foreign

Ora_Ffi.Is_Null_Ptr

Ora_Ffi.Libhandletype

Ora_Ffi.Load_Library

Ora_Ffi.Pointertype

Ora_Ffi.Register_Function

Ora_Ffi.Register_Parameter

Ora_Ffi.Register_Return

Ora_Ffi.Unload_Library

Ora_Ffiの例1A

Ora_Ffiの例1B

Ora_Ffiの例2


ORA_NLSパッケージの例

  関連項目	   すべての例

Ora_Nls.American

Ora_Nls.American_Date

Ora_Nls.Bad_Attribute

Ora_Nls.Get_Lang_Scalar

Ora_Nls.Get_Lang_Str

Ora_Nls.Linguistic_Collate

Ora_Nls.Linguistic_Specials

Ora_Nls.Modified_Date_Fmt

Ora_Nls.No_Item

Ora_Nls.Not_Found

Ora_Nls.Right to Left

Ora_Nls.Simple_Cs

Ora_Nls.Single_Byte


ORA_PROFパッケージの例

  関連項目	   すべての例

Ora_Prof.Bad_Timer

Ora_Prof.Create_Timer

Ora_Prof.Destroy_Timer

Ora_Prof.Elapsed_Time

Ora_Prof.Reset_Timer

Ora_Prof.Start_Timer

Ora_Prof.Stop_Timer


TEXT_IOパッケージの例

  関連項目	   すべての例

Text_IO.Fclose

Text_IO.File_Type

Text_IO.Fopen

Text_IO.Is_Open

Text_IO.Get_Line

Text_IO.New_Line

Text_IO.Put

Text_IO.Putf

Text_IO.Put_Line


TOOL_ENVパッケージの例

  関連項目	   すべての例

Tool_Env.Getvar


TOOL_ERRパッケージの例

  関連項目	   すべての例

Tool_Err.Code

Tool_Err.Encode

Tool_Err.Message

Tool_Err.Nerrors

Tool_Err.Pop

Tool_Err.Tool_Error

Tool_Err.Toperror


TOOL_RESパッケージの例

  関連項目	   すべての例

Tool_Res.Bad_File_Handle

Tool_Res.Buffer_Overflow

Tool_Res.File_Not_Found

Tool_Res.No_Resource

Tool_Res.Rfclose

Tool_Res.Rfhandle

Tool_Res.Rfopen

Tool_Res.Rfread


Developerビルトイン・パッケージ

  関連項目 	  すべてのビルトイン

DDE

DEBUG

EXEC_SQL

LIST

OLE2

ORA_FFI

ORA_NLS

ORA_PROF

Text_IO

TOOL_ENV

TOOL_ERR

TOOL_RES