プライマリ・コンテンツに移動
Oracle® Database PL/SQLパッケージおよびタイプ・リファレンス
12c リリース1 (12.1)
B71281-05
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

284 UTL Streamsタイプ

UTL Streamsタイプは、Oracle XML機能で使用される抽象タイプを記述します。SYSスキーマ内に4つの抽象PL/SQLストリームが導入および定義されています。ストリームはPUBLICで参照でき、以降の項で説明します。


関連項目:

詳細は、『Oracle XML DB開発者ガイド』を参照してください。

この章では、次の項目について説明します。

UTL Streamsタイプの使用方法

セキュリティ・モデル

UTL Streamsタイプに対するEXECUTEPUBLICに付与されます。

UTL Binary Streamsタイプの要約

表284-1 UTL Streamsタイプ

タイプ 説明

UTL_BINARYINPUTSTREAMタイプ


バイトを読み取り、ストリームをクローズします。

UTL_BINARYOUTPUTSTREAMタイプ


バイトを書き込み、ストリームをクローズします。

UTL_CHARACTERINPUTSTREAMタイプ


文字を読み取り、ストリームをクローズします。

UTL_CHARACTEROUTPUTSTREAMタイプ


文字を書き込み、ストリームをクローズします。


UTL_BINARYINPUTSTREAMタイプ

このタイプは、ストリームの読取りとクローズのみを行うことができるという点で、java.io.InputStreamと似ています。

構文

CREATE OR REPLACE TYPE Utl_BinaryInputStream AS OBJECT (
   
   MEMBER FUNCTION available (
        self    IN OUT NOCOPY  Utl_BinaryInputStream) 
     RETURN INTEGER,
   
   MEMBER FUNCTION read (                                  -- #1
      self      IN OUT NOCOPY  Utl_BinaryInputStream,
      numBytes  IN             INTEGER DEFAULT 1)  
    RETURN RAW,
  
  MEMBER PROCEDURE read (                                  -- #2
     self       IN OUT NOCOPY   Utl_BinaryInputStream, 
     bytes      IN OUT NOCOPY  RAW, 
     numBytes   IN OUT         INTEGER),
  
  MEMBER PROCEDURE read (                                  -- #3
     self       IN OUT NOCOPY   Utl_BinaryInputStream, 
     bytes      IN OUT NOCOPY   RAW,
     offset     IN INTEGER, 
     numBytes   IN OUT          INTEGER),

  member function close (
     self       In Out Nocopy   Utl_BinaryInputStream) 

 ) NOT FINAL;

属性

表284-2 UTL_BINARYINPUTSTREAMタイプのメンバー・サブプログラム

メンバー・サブプログラム 説明

AVAILABLE

読取り可能なバイト数を戻します。

READ

  • #1 - numBytesによって指定されたバイト数(デフォルトは1)を読み取り、バイトをRAWとして戻します。残っているバイトがない場合、値NULLが戻されます。

  • #2 - numBytesで指定されたバイト数をパラメータbytesに読み込みます。また、実際に読み取られたバイト数が、パラメータnumBytesに戻されます。このパラメータが0に設定されている場合、それ以上読み取るバイトはありません。

  • #3 - numBytesで指定されたバイト数をパラメータbytesに読み込みます。パラメータoffsetによって指定されたオフセット位置から開始します。実際に読み取られたバイト数が、パラメータnumBytesに戻されます。この値が0の場合、それ以上読み取るバイトはありません。

CLOSE

ストリームをサポートするためにノードに保持されているすべてのリソースを解放します。


UTL_BINARYOUTPUTSTREAMタイプ

このタイプは、ストリームの書込みとクローズのみを行うことができるという点で、java.io.OutputStreamと似ています。

構文

CREATE OR REPLACE TYPE Utl_BinaryOutputStream AS OBJECT (
     
  MEMBER FUNCTION write (                                  -- #1
       self       IN OUT NOCOPY   sys.utl_BinaryOutputStream, 
       bytes      IN              RAW,
       numBytes   IN              INTEGER DEFAULT 1) 
  RETURN INTEGER,
 
  MEMBER PROCEDURE write (                                  -- #2
       self       IN OUT NOCOPY  sys.utl_BinaryOutputStream,  
       bytes      IN NOCOPY      RAW,
       numBytes   IN OUT         INTEGER),
 
  MEMBER PROCEDURE write (                                  -- #3
       self       IN OUT NOCOPY  utl_BinaryOutputStream,        bytes      IN NOCOPY      RAW, 
       offset     IN             INTEGER,
       numBytes   IN OUT         INTEGER),
 
  MEMBER PROCEDURE flush (
       self       IN OUT NOCOPY  utl_BinaryOutputStream),
 
  MEMBER PROCEDURE close (
       self       IN OUT NOCOPY utl_BinaryOutputStream)
 
 ) NOT FINAL;

属性

表284-3 UTL_BINARYOUTPUTSTREAMタイプのメンバー・サブプログラム

メンバー・サブプログラム 説明

WRITE

  • #1 - RAWからnumBytesによって指定されたバイト数(デフォルトは1)をストリームに書き込みます。実際に書き込まれたバイト数が戻されます。

  • #2 - パラメータbytesからパラメータnumBytesで指定されたバイト数をストリームに書き込みます。実際に書き込まれたバイト数は、パラメータnumBytesに戻されます。

  • #3 - numBytesによって指定されたバイト数をストリームに書き込みます。パラメータoffsetによって指定されたオフセット位置から開始します。実際に書き込まれたバイト数は、パラメータnumBytesに戻されます。

FLUSH

バッファに入れたすべてのバイトを宛先ノードに確実にコピーします。

CLOSE

ストリームに関連付けられたすべてのリソースを解放します。


UTL_CHARACTERINPUTSTREAMタイプ

このタイプは、文字(chars)の読取りとストリームのクローズのみを行うことができるという点で、java.io.Readerと似ています。

構文

CREATE OR REPLACE TYPE Utl_CharacterInputStream AS OBJECT (

   MEMBER FUNCTION available (
       self       IN OUT NOCOPY   utl_CharacterInputStream)     RETURN INTEGER,   MEMBER FUNCTION read (                                  -- #1
       self       IN OUT NOCOPY   utl_CharacterInputStream,       numChars   IN              INTEGER DEFAULT 1,       lineFeed   IN              BOOLEAN DEFAULT FALSE) 
    RETURN VARCHAR2,  MEMBER PROCEDURE read (                                  -- #2
       self      IN OUT NOCOPY    utl_CharacterInputStream,        chars     IN OUT NOCOPY    VARCHAR2,        numChars  IN OUT           INTEGER,       lineFeed  IN BOOLEAN DEFAULT FALSE),  MEMBER PROCEDURE read (                                  -- #3
       self      IN  OUT NOCOPY   utl_CharacterInputStream,        chars     IN OUT NOCOPY    VARCHAR2,        offset    IN               INTEGER,        numChars  IN OUT           INTEGER,       lineFeed  IN               BOOLEAN DEFAULT FALSE),   MEMBER PROCEDURE close (
      self       IN OUT NOCOPY    utl_CharacterInputStream)  ) NOT FINAL;

属性

表284-4 UTL_CHARACTERINPUTSTREAMタイプのメンバー・サブプログラム

メンバー・サブプログラム 説明

AVAILABLE

読取り可能なバイト数を戻します。

READ

  • #1 - 残りの読取り対象の文字数を戻します。

  • #2 - numCharsによって指定された文字数(デフォルト値は1)を読み取り、文字をVARCHAR2として戻します。lineFeedの値がtrueの場合(デフォルト値はFALSE)、改行文字が見つかると読取りが中止されます。残っている文字がない場合、値NULLが戻されます。

  • #3 - パラメータnumCharsによって指定された文字数をパラメータcharsに読み込みます。また、実際に読み取られた文字数が、パラメータnumCharsに戻されます。この値が0の場合、それ以上読み取る文字はありません。lineFeedの値がTRUEの場合(デフォルトはFALSE)、改行文字が見つかると読取りが中止されます。

CLOSE

ストリームによって保持されているすべてのリソースを解放します。


UTL_CHARACTEROUTPUTSTREAMタイプ

このタイプは、文字(chars)の読取りとストリームのクローズのみを行うことができるという点で、java.io.Readerと似ています。

構文

CREATE OR REPLACE TYPE utl_CharacterOutputStream  AS OBJECT (

 MEMBER FUNCTION write (                                  -- #1
     self      IN OUT NOCOPY   utl_CharacterOutputStream, 
     chars     IN              VARCHAR2,
     numChars  IN              INTEGER DEFAULT 1,
     lineFeed  IN              BOOLEAN DEFAULT FALSE) 
  RETURN INTEGER,

 MEMBER PROCEDURE write (                                  -- #2
     self      IN OUT NOCOPY   utl_CharacterOutputStream,  
     chars     IN OUT NOCOPY   VARCHAR2,
     numChars  IN OUT          INTEGER,
     lineFeed  IN              BOOLEAN DEFAULT FALSE),

 member procedure write (                                  -- #3
     self     IN OUT NOCOPY    utl_CharacterOutputStream, 
     chars    IN  NOCOPY       varchar2,
     offset   IN               integer, 
     numChars IN OUT           integer,
    lineFeed  IN               boolean default false),

 MEMBER PROCEDURE flush (
     self     IN OUT NOCOPY    utl_CharacterOutputStream), 

MEMBER PROCEDURE close (
     self     IN OUT NOCOPY utl_CharacterOutputStream)

 ) NOT FINAL;

属性

表284-5 UTL_CHARACTEROUTPUTSTREAMタイプのメンバー・サブプログラム

メンバー・サブプログラム 説明

WRITE

  • #1 - パラメータcharsからnumCharsによって指定された文字数(デフォルトは1)をストリームに書き込み、実際に書き込まれた文字数を戻します。lineFeedの値がTRUEの場合(デフォルトはFALSE)、最後の文字の後にlineFeed文字が挿入されます。

  • #2 - パラメータcharsからパラメータnumCharsによって指定された文字数をストリームに書き込みます。実際に書き込まれた文字数が、パラメータnumCharsに戻されます。lineFeedの値がtrueの場合(デフォルトはFALSE)、最後の文字の後にlineFeed文字が挿入されます。

  • #3 - パラメータcharsから、パラメータnumCharsによって指定された文字数を書き込みます。パラメータoffsetによって指定されたオフセット位置から開始します。実際に書き込まれた文字数が、パラメータnumCharsに戻されます。lineFeedの値がtrueの場合(デフォルトはFALSE)、最後の文字の後にlineFeed文字が挿入されます。

FLUSH

バッファに含まれているすべての文字をノード値にコピーします。

CLOSE

ストリームによって保持されているすべてのリソースを解放します。