SQL 解説書

SYSCAT.FUNCTIONS

ユーザー定義関数 (スカラー、表、またはソース)、 システム生成メソッド、またはユーザー定義メソッドごとに、1 つの行が含まれます。 組み込み関数は含まれません。
注:特に説明がない限り、「関数」に関する説明はメソッドにも適用されます。

表 62. SYSCAT.FUNCTIONS カタログ視点
列名 データ・タイプ ヌル値可 説明
FUNCSCHEMA VARCHAR(128)
関数の修飾名。
FUNCNAME VARCHAR(18)
SPECIFICNAME VARCHAR(18)
関数インスタンスの名前 (システム生成の名前の場合もある)。
DEFINER VARCHAR(128)
関数定義者の許可 ID。
FUNCID INTEGER
内部割り当てによる関数 ID。
RETURN_TYPE SMALLINT
関数の戻りタイプの内部タイプ・コード。
ORIGIN CHAR(1)

B = 組み込み

E = ユーザー定義、外部

Q = ユーザー定義、SQL

U = ユーザー定義、ソース関数に基づく

S = システム生成


TYPE CHAR(1)

C = 列関数

R = 行関数

S = スカラー関数

T = 表関数


METHOD CHAR(1)

Y = メソッド

N = メソッドではない


EFFECT CHAR(2)

MU = ミューテーター・メソッド

OB = オブザーバー・メソッド

CN = コンストラクター・メソッド

ブランク = システム生成メソッドではない


PARM_COUNT SMALLINT
関数のパラメーターの数。
PARM_SIGNATURE VARCHAR(180) FOR BIT DATA
内部形式での 90 までのパラメーター・タイプを連結した値。 関数にパラメーターがない場合は、長さ 0。
CREATE_TIME TIMESTAMP
関数作成時のタイム・スタンプ。 バージョン 1 の関数の場合は 0 に設定されます。
QUALIFIER VARCHAR(128)
オブジェクト定義時のデフォルト・スキーマの値。
WITH_FUNC_ACCESS CHAR(1)

Y = このメソッドは関数表記を使用して呼び出すことができます。

N = このメソッドは関数表記を使用して呼び出すことはできません。


TYPE_PRESERVING CHAR(1)

Y = 戻りタイプは "type-preserving" パラメーターで管理される。 システム生成のミューテーター・メソッドはすべてタイプ保持です。

N = 戻りタイプはメソッドの宣言された戻りタイプ。


VARIANT CHAR(1)

Y = 可変 (結果は毎回同じとは限らない)

N = 不変 (結果は一貫している)

ORIGIN が E でない場合はブランク


SIDE_EFFECTS CHAR(1)

E = 関数に外部副次作用がある (呼び出しの数が重要)

N = 副次作用がない

ORIGIN が E でない場合はブランク


FENCED CHAR(1)

Y = 分離

N = 非分離

ORIGIN が E でない場合はブランク


NULLCALL CHAR(1)

Y = CALLED ON NULL INPUT

N = RETURNS NULL ON NULL INPUT (オペランドにヌル値が含まれる場合、 暗黙のうちに関数結果はヌル値)

ORIGIN が E でない場合はブランク


CAST_FUNCTION CHAR(1)

Y = キャスト関数

N = キャスト関数ではない


ASSIGN_FUNCTION CHAR(1)

Y = 暗黙的な割り当て関数

N = 割り当て関数ではない


SCRATCHPAD CHAR(1)

Y = スクラッチ・パッドあり

N = スクラッチ・パッドなし

ORIGIN が E でない場合はブランク


FINAL_CALL CHAR(1)

Y = ステートメント終了の実行時に、この関数に対して最終呼び出しが行われる

N = 最終呼び出しを行わない

ORIGIN が E でない場合はブランク


PARALLELIZABLE CHAR(1)

Y = 関数を並列して実行できる

N = 関数を並列して実行できない

ORIGIN が E でない場合はブランク


CONTAINS_SQL CHAR(1)
関数またはメソッドが SQL を含むかどうかを示します。

C = CONTAINS SQL: SQL データの読み取りまたは変更を行わない SQL に限り許可されている。

N = NO SQL: SQL は許可されていない。

R = READS SQL DATA: SQL データを読み取る SQL に限り許可されている。

DBINFO CHAR(1)
DBINFO パラメーターが外部関数に渡されるか否かを示します。

Y = DBINFO は渡される

N = DBINFO は渡されない

ORIGIN が E でない場合はブランク

RESULT_COLS SMALLINT
表関数 (TYPE=T) の場合は結果表の列数。その他の場合は 1。
LANGUAGE CHAR(8)
関数本体の実装言語。 可能な値は C、JAVA、 OLE、または OLEDB。 ORIGIN が E または Q でない場合はブランク。
IMPLEMENTATION VARCHAR(254) Yes ORIGIN=E の場合、 この関数を実現するためのパス / モジュール / 関数。 ORIGIN=U、かつソース関数が組み込み関数の場合、ソース関数の名前とシグニチャー。 それ以外の場合、ヌル値です。
CLASS VARCHAR(128) Yes LANGUAGE=JAVA の場合、この関数を実装するクラス。 それ以外の場合、ヌル値です。
JAR_ID VARCHAR(128) Yes LANGUAGE=JAVA の場合、この関数を実装する jar ファイル。 それ以外の場合、ヌル値です。
PARM_STYLE CHAR(8)
CREATE FUNCTION ステートメントで宣言されたパラメーターのスタイル。 値:

DB2SQL

DB2GENRL

JAVA

ORIGIN が E でない場合はブランク

SOURCE_SCHEMA VARCHAR(128) Yes ORIGIN=U かつソース関数がユーザー定義関数の場合、ソース関数の修飾名。 ORIGIN=U で、しかもソース関数が組み込み関数の場合、 SOURCE_SCHEMA は 'SYSIBM'、 SOURCE_SPECIFIC は '組み込み関数の場合は N/A'。 ORIGIN が U でない場合は、ヌル値。
SOURCE_SPECIFIC VARCHAR(18) Yes
IOS_PER_INVOC DOUBLE
呼び出しごとの入出力回数の見積もり。 不明の場合は -1 (デフォルト値は 0)。
INSTS_PER_INVOC DOUBLE
呼び出しごとの命令の数の見積もり。 不明の場合は -1 (デフォルト値は 450)。
IOS_PER_ARGBYTE DOUBLE
入力引き数 1 バイトごとの入出力回数の見積もり。 不明の場合は -1 (デフォルト値は 0)。
INSTS_PER_ARGBYTE DOUBLE
入力引き数 1 バイトごとの命令数の見積もり。 不明の場合は -1 (デフォルト値は 0)。
PERCENT_ARGBYTES SMALLINT
関数が実際に読み取る入力引き数バイトの平均パーセント値の見積もり。 不明の場合は -1 (デフォルト値は 100)。
INITIAL_IOS DOUBLE
関数が最初 / 最後に呼び出されたときに実行される入出力の回数の見積もり。 不明の場合は -1 (デフォルト値は 0)。
INITIAL_INSTS DOUBLE
最初 / 最後の関数呼び出し時に実行される命令の数の見積もり。 不明の場合は -1 (デフォルト値は 0)。
CARDINALITY BIGINT
予想される表関数のカーディナリティー。 不明の場合、または関数が表関数でない場合は -1。
IMPLEMENTED CHAR(1)

Y = 関数が実装されている。

M = メソッドが実装されているものの、関数アクセスはない。 注 1 を参照。

H = メソッドが実装されており、関数アクセスがある。 注 1 を参照。

N = 実装は行われずにメソッドが指定されている。


SELECTIVITY DOUBLE
ユーザー定義述部に使用します。 ユーザー定義述部がない場合は -1 です。 注 2 を参照。
OVERRIDEN_FUNCID INTEGER Yes 将来の使用のために予約済み。
SUBJECT_TYPESCHEMA VARCHAR(128) Yes ユーザー定義メソッドの対象となるタイプ・スキーマ。
SUBJECT_TYPENAME VARCHAR(18) Yes ユーザー定義メソッドの対象となるタイプ名。
FUNC_PATH VARCHAR(254) Yes 関数の定義された時点の関数パス。
BODY CLOB(1M) Yes 言語が SQL の場合、CREATE FUNCTION または CREATE METHOD ステートメントのテキスト。
REMARKS VARCHAR(254) Yes ユーザー提供のコメントまたはヌル値。
注:
  1. この値は、DB2 の将来のバージョンでは使用されない可能性があります。
  2. どのようなユーザー定義関数でも、 パック記述子およびシステム・カタログでの移行中は、この列は -1 に設定されます。 ユーザー定義述部の場合、システム・カタログでの選択性は -1 になります。 この場合、最適化プログラムが使用する選択性の値は 0.01 です。


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