CLI の手引きおよび解説書

付録 H. ストアード・プロシージャー登録の疑似カタログ表

DB2 ユニバーサル・データベース以前の DB2 CLI バージョンでは、 SQLProcedures()SQLProcedureColumns() が呼び出され、ストアード・プロシージャーとその属性に関する情報を検索する前に、サーバーで DB2CLI.PROCEDURES 表を作成し、データを入れておかなければなりません。

DB2 ユニバーサル・データベースはストアード・プロシージャーの情報が入った SYSCAT.PROCEDURES および SYSCAT.PROCPARAMS カタログを使用するようになったので、 DB2CLI.PROCEDURES 表は不要になりました。

バージョン 5 以前の DB2 をお使いの場合は、コマンド行プロセッサー入力ファイル STORPROC.DDL を使って DB2CLI.PROCEDURES 表を作成できます。次いで、サンプルの STORPROC.XMP ファイルを修正して、この PROCEDURE 表に行を挿入することができます。これら 2 つのファイルは両方とも、 sqllib ディレクトリーの misc サブディレクトリー内にあります。入力ファイルを使用して表を作成するには、コマンド行から次のコマンドを実行します。

   db2 -f STORPROC.DDL -z STORPROC.LOG -t

情報が正しく表の中に入力されたことを確認し、表を最新のものに更新していくのは、データベース管理担当者の役割です。最初は、すべてのユーザーにこの表に対する SELECT (選択) 特権があり、 DBADM 権限を持つユーザーだけに、この表の中の行について INSERT (挿入)、 DELETE (削除) または UPDATE (更新) を行うことができます。それ以外の表については、DBADM 権限を持つユーザーが他のユーザーに各特権を付与することができます。

DB2CLI.PROCEDURES 表の凡例

列名
列の名前

データ・タイプ
列のデータ・タイプ

ヌル可

はい - ヌルを使用できる
いいえ - ヌルは使用できない

キー

キー - 列は基本キーの一部である
いいえ - 列はキーの一部ではない

説明
列の説明

表 214. DB2CLI スキーマでの PROCEDURES 表の列
列名 データ・タイプ ヌル可 キー 説明
PROCSCHEMA VARCHAR(18) いいえ PK プロシージャーのスキーマ名。
PROCNAME VARCHAR(18) いいえ PK SQL CALL ステートメントで指定されるストアード・プロシージャーの名前。
DEFINER VARCHAR(8) いいえ いいえ ストアード・プロシージャーの定義者。 (表にこの行を挿入したデータベース管理者。)
PKGSCHEMA VARCHAR(18) いいえ いいえ ストアード・プロシージャーが実行されるときに使用されるパッケージのスキーマ名。
PKGNAME VARCHAR(18) いいえ いいえ ストアード・プロシージャーが実行されるときにロードされるパッケージの名前。
PROC_LOCATION VARCHAR(254) いいえ いいえ プロシージャーの外部 (完全パス) 名。
PARM_STYLE CHAR(1) いいえ いいえ ストアード・プロシージャーにパラメーターを渡すのに使用する規則。
  • D は、データベース・アプリケーション・リモート・インターフェース (DARI) 規則で、 DB2 共通サーバー用サーバーが使用するものです。
LANGUAGE CHAR(8) いいえ いいえ ストアード・プロシージャーを作成するのに使用するプログラミング言語。 DB2 共通サーバー用に可能な値としては、COBOLCREXX、および FORTRAN があります。 (値 C は、 C プログラムと C++ プログラムの両方を指して用いられます。) 他の製品では PL/IBASIC のような他の言語が使用できる場合があります。
STAYRESIDENT CHAR(1) いいえ いいえ ストアード・プロシージャーが終了するときにプロシージャーのロード・モジュールがメモリーから削除されるかどうかを判別します。
  • Y は、ストアード・プロシージャー終了後にもロード・モジュールがメモリーに残っていることを示します。

    これには、いくつかの呼び出しを残しておくためにストアード・プロシージャーが SQLZ_HOLD_PROC を戻してから、ストアード・プロシージャーが SQLZ_DISCONNECT_PROC を戻して終了したという場合が含まれます。

  • ブランク 項目は、ストアード・プロシージャーが終了すると、ロード・モジュールがメモリーから削除されることを示します。
RUNOPTS VARCHAR(254) いいえ いいえ 予約済み (空ストリング)。
PARM_LIST VARCHAR(3000) いいえ いいえ ストアード・プロシージャーのパラメーター・リスト。このパラメーター・リストの形式については、この表の次にある構文図を参照してください。
FENCED CHAR(1) いいえ いいえ プロシージャーが「分離された状態で」実行するかどうかを示します。
  • Y はストアード・プロシージャーが分離されることを示します。
  • N はストアード・プロシージャーが分離されないことを示します。
REMARKS VARCHAR(254) はい いいえ ストアード・プロシージャーの説明。
RESULT_SETS SMALLINT いいえ いいえ 戻すことができる結果セットの数。

パラメーター・リスト列 (PARM_LIST) の入力形式は、図 19 に定義されています。この列の内容に構文エラーがある場合、SQLProcedureColumns() への呼び出しはエラーとなります。

図 19. PARMLIST ストリング構文. この PARMLIST 構文図は、 DB2 (MVS/ESA 版) と DB2 DB2 共通サーバー版の両方でサポートされているデータ・タイプを結合したものです。

   .-,------------------------------------------------------------------------.
   V                                                                          |
>>----+--------------------------------------------------------------------+--+->
      |                                                         .-IN----.  |
      '-parm-name--| data-type |---+------------------------+---+-------+--'
                                   '-FOR--+-SBCS--+---DATA--'   +-OUT---+
                                          +-MIXED-+             '-INOUT-'
                                          '-BIT---'
 
>--------------------------------------------------------------><
 
data-type
 
|---+-INT-------------------------------------------------+-----|
    +-INTEGER---------------------------------------------+
    +-SMALLINT--------------------------------------------+
    +-FLOAT--+------------------+-------------------------+
    |        '-(--integer *--)--'                         |
    +-REAL------------------------------------------------+
    +-DOUBLE----------------------------------------------+
    +-DOUBLE PRECISION------------------------------------+
    +--+-DEC-----+---+----------------------------------+-+
    |  +-DECIMAL-+   '-(--integer--+-------------+---)--' |
    |  +-NUM-----+                 '-,--integer--'        |
    |  '-NUMERIC-'                                        |
    +--+-CHAR------+---+----------------+-----------------+
    |  '-CHARACTER-'   '-(--integer--)--'                 |
    +-VARCHAR--(--integer--)------------------------------+
    +-LONG VARCHAR----------------------------------------+
    +-GRAPHIC--+----------------+-------------------------+
    |          '-(--integer--)--'                         |
    +-VARGRAPHIC--(--integer--)---------------------------+
    +-LONG VARGRAPHIC-------------------------------------+
    +--+-BLOB---+---(--integer--+-K-+---)-----------------+
    |  +-CLOB---+               +-M-+                     |
    |  '-DBCLOB-'               '-G-'                     |
    +-DATE------------------------------------------------+
    +-TIME------------------------------------------------+
    '-TIMESTAMP-------------------------------------------'
 
注:* - DB2 共通サーバー版ではサポートされていません。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]