SYSCAT.ROUTINES カタログ・ビュー

行ごとに、1 つのユーザー定義ルーチン (スカラー関数、表関数、ソース派生関数、集約インターフェース関数、メソッド、プロシージャー) を表します。

重要: Db2® 11.5.9のリリースでは、Microsoft .Net 共通言語ランタイム (CLR) ルーチンのサポートは非推奨になっており、将来除去される可能性があります。 .NET CLR に依存するルーチンを現在実行している場合は、サポートされている言語でルーチン・ロジックを書き直してから、ルーチンを再作成してください。
表 1. SYSCAT.ROUTINES カタログ・ビュー
列名 データ・タイプ NULL 可能 説明
ROUTINESCHEMA VARCHAR (128) Y ROUTINEMODULEID が NULL の場合にはルーチンのスキーマ名。その他の場合には、ルーチンが属するモジュールのスキーマ名。
ROUTINEMODULENAME VARCHAR (128) Y ルーチンが属するモジュールの非修飾名。 モジュール・ルーチンでない場合は NULL 値。
ROUTINENAME VARCHAR (128) Y ルーチンの非修飾名。
ROUTINETYPE CHAR (1) Y ルーチンのタイプ
  • F = 関数
  • M = メソッド
  • P = プロシージャー
OWNER VARCHAR (128) Y ルーチンの所有者の許可 ID。
OWNERTYPE CHAR (1) Y
  • S = 所有者はシステム
  • U = 所有者は個々のユーザー
SPECIFICNAME VARCHAR (128) Y ルーチン・インスタンスの名前 (システム生成の場合もある)。
ROUTINEID INTEGER Y ルーチンの ID。
ROUTINEMODULEID INTEGER Y ルーチンが属するモジュールの ID。 モジュール・ルーチンでない場合は NULL 値。
RETURN_TYPESCHEMA VARCHAR (128) Y スカラー関数またはメソッドの場合、 戻りタイプのスキーマ名。
RETURN_TYPEMODULE VARCHAR (128) Y 戻りタイプのモジュール名。戻りタイプがいずれのモジュールにも属していない場合には NULL 値。
RETURN_TYPENAME VARCHAR (128) Y スカラー関数またはメソッドの場合、 戻りタイプの非修飾名。
ORIGIN CHAR (1) Y
  • A = ユーザー定義集約インターフェース関数
  • B = 組み込み
  • E = ユーザー定義、外部
  • M = テンプレート関数
  • F = フェデレーテッド・プロシージャー
  • Q = SQL 本体1
  • R = システム生成の SQL を本体として持つルーチン
  • S = システム生成
  • T = システム生成トランスフォーム関数 (直接呼び出し不可)
  • U = ユーザー定義、ソース関数に基づく
FUNCTIONTYPE CHAR (1) Y
  • C = 列または集約
  • R = 行
  • S = スカラー
  • T = 表
  • ブランク = プロシージャー
PARM_COUNT SMALLINT Y ルーチン・パラメーターの数。パラメーターが VARARGS として指定されている場合は -1。
LANGUAGE CHAR (8) Y ルーチン本体の (あるいは、この関数が別の関数を基にしたソース派生関数の場合は、ソース関数本体の) インプリメンテーション言語。 取り得る値は、CCLRCOBOLJAVAOLEOLEDBRSQL。 ORIGIN が EQ、または Rでない場合はブランク。
DIALECT VARCHAR (10) Y SQL ルーチン本体のソース・ダイアレクト。
  • Db2 SQL PL
  • PL/SQL
  • ブランク = SQL ルーチンではない
SOURCESCHEMA VARCHAR (128) Y ORIGIN = "U"、かつソース関数がユーザー定義関数の場合、ソース関数の特定名のスキーマ名。 ORIGIN= "U"、かつソース関数が組み込み関数の場合、値 "SYSIBM"。 ORIGIN が U でない場合は NULL 値。
SOURCEMODULENAME VARCHAR (128) Y ORIGIN = "U"、かつソース関数がモジュールで定義されたユーザー定義関数である場合、ソース関数の特定の名前のモジュール名。それ以外の場合は NULL 値。
SOURCESPECIFIC VARCHAR (128) Y ORIGIN= "U"、かつソース関数がユーザー定義関数の場合、ソース関数の非修飾特定名。 ORIGIN= "U"、かつソース関数が組み込み関数の場合、値 "N/A for built-in"。 ORIGIN が U でない場合は NULL 値。
PUBLISHED CHAR (1) Y モジュール・ルーチンをモジュール外で呼び出せるかどうかの指標。
  • N = モジュール・ルーチンはパブリッシュされていない
  • Y = モジュール・ルーチンはパブリッシュ済み
  • ブランク = 該当しない場合
DETERMINISTIC CHAR (1) Y
  • N = 結果は非決定論的 (同じパラメーターが指定されても、異なるルーチンによる呼び出しでは異なる結果を出す可能性がある)
  • Y = 結果は決定論的
  • ブランク = ORIGIN は A でも E でも F でも Q でも R でもない
EXTERNAL_ACTION CHAR (1) Y
  • E = 関数に外部副次作用がある (したがって、呼び出しの数が重要)
  • N = 副次作用がない
  • ブランク = ORIGIN は A でも E でも F でも Q でも R でもない
NULLCALL CHAR (1) Y
  • N = RETURNS NULL ON NULL INPUT (1 つ以上のオペランドが NULL 値である場合、暗黙のうちに関数の結果は NULL 値)
  • Y = CALLED ON NULL INPUT
  • ブランク = ORIGIN は A でも E でも Q でも R でもない
CAST_FUNCTION CHAR (1) Y
  • N = cast 関数ではない
  • Y = cast 関数
  • ブランク = ROUTINETYPE は "F" でない
ASSIGN_FUNCTION CHAR (1) Y
  • N = 割り当て関数ではない
  • Y = 暗黙的な割り当て関数
  • ブランク = ROUTINETYPE は "F" でない
SCRATCHPAD CHAR (1) Y
  • N = ルーチンにはスクラッチパッドがない
  • Y = ルーチンにはスクラッチパッドがある
  • ブランク = ORIGIN が A でも E でもないか、ROUTINETYPE が P である
SCRATCHPAD_LENGTH SMALLINT Y ルーチンのスクラッチパッドのサイズ (バイト単位)。
  • -1 = LANGUAGE が "OLEDB" かつ SCRATCHPAD が "Y"
  • 0 = SCRATCHPAD が "Y" でない
FINALCALL CHAR (1) Y
  • N = 最終呼び出しを行わない
  • Y = ステートメント終了の実行時に、このルーチンに対して最終呼び出しが行われる
  • ブランク = ORIGIN が A でも E でもないか、ROUTINETYPE が P である
PARALLEL CHAR (1) Y
  • N = ルーチンを並列して実行できない
  • Y = ルーチンを並列して実行できる
  • ブランク = ORIGIN は A でも E でもない
PARAMETER_STYLE CHAR (8) Y ルーチンの作成時に宣言されたパラメーターのスタイル。 可能な値は以下のとおりです。
  • DB2DARI
  • DB2GENRL
  • DB2SQL
  • 共通事項
  • GNRLNULL
  • JAVA
  • NPSGENRC
  • SQL
  • ブランク = ORIGIN は "E" でない
FENCED CHAR (1) Y
  • N = fenced でない
  • Y = fenced
  • ブランク = ORIGIN は "E" でない
SQL_DATA_ACCESS CHAR (1) Y ルーチンに含まれている SQL ステートメント (もしあれば) のタイプに関して、データベース・マネージャーが想定する内容を示します。
  • C = SQL が含まれている (副照会のない単純式のみ)
  • M = データを変更する SQL ステートメントが含まれている
  • N = SQL ステートメントが含まれていない
  • R = 読み取り専用 SQL ステートメントが含まれている
  • ブランク = ORIGIN は E でも F でも Q でも R でもない
DBINFO CHAR (1) Y DBINFO パラメーターが外部ルーチンに受け渡されるかどうかを示します。
  • N = DBINFO は渡されない
  • Y = DBINFO は渡される
  • ブランク = ORIGIN は "E" でない
PROGRAMTYPE CHAR (1) Y 外部ルーチンを呼び出す方法を示します。
  • M = メイン
  • S = サブルーチン
  • ブランク = ORIGIN は AF である
COMMIT_ON_RETURN CHAR (1) Y 正常にこのプロシージャーが戻ったときにトランザクションがコミットされるかどうかを示します。
  • N = 作業単位はコミットされない
  • Y = 作業単位はコミットされる
  • ブランク = ROUTINETYPE は "P" でない
AUTONOMOUS CHAR (1) Y ルーチンが自律的に実行するかどうかを示します。
  • N = ルーチンは呼び出し元のトランザクションから自律的に実行しない
  • Y = ルーチンは呼び出し元のトランザクションから自律的に実行する
  • ブランク = ROUTINETYPE は "P" でない
RESULT_SETS SMALLINT Y 結果セットの最大数の見積もり。
SPEC_REG CHAR (1) Y ルーチンの呼び出し時に使用される特殊レジスター値を示します。
  • I = 継承された特殊レジスター
  • ブランク = PARAMETER_STYLE が DB2DARI であるか、ORIGIN が E でも Q でも R でもない
FEDERATED CHAR (1) Y ルーチンからフェデレーテッド・オブジェクトにアクセスできるかどうかを示します。
  • Y = フェデレーテッド・オブジェクトにアクセスできる
  • ブランク = ORIGIN は "F" でない
THREADSAFE CHAR (1) Y ルーチンを他のルーチンと同じプロセスで実行できるかどうかを示します。
  • N = ルーチンはスレッド・セーフでない
  • Y = ルーチンはスレッド・セーフである
  • ブランク = ORIGIN は "E" でない
VALID CHAR (1) Y LANGUAGE = "SQL" で、デフォルトまたは ORIGIN = "A" のパラメーターを持つルーチンに適用されます。その他の場合はブランク。
  • N = ルーチンは再バインドが必要
  • X = ルーチンは作動不能で、再作成が必要
  • Y = ルーチンは有効
MODULEROUTINEIMPLEMENTED CHAR (1) Y
  • N = メモジュール・ルーチン本体はインプリメントされていない
  • Y = モジュール・ルーチン本体がインプリメントされている
  • ブランク = ROUTINEMODULENAME は NULL 値
METHODIMPLEMENTED CHAR (1) Y
  • N = メソッド本体はインプリメントされていない
  • Y = メソッド本体がインプリメントされている
  • ブランク = ROUTINETYPE は "M" ではないか、ROUTINEMODULENAME が NULL 値ではない
METHODEFFECT CHAR (2) Y
  • CN = コンストラクター・メソッド
  • MU = Mutator メソッド
  • OB = オブザーバー・メソッド
  • ブランク = システム・メソッドではない
TYPE_PRESERVING CHAR (1) Y
  • N = 戻りタイプはメソッドの宣言された戻りタイプ。
  • Y = 戻りタイプは "type-preserving" パラメーターで管理される。システム生成 mutator メソッドはすべて type-preserving。
  • ブランク = ROUTINETYPE は "M" でない
WITH_FUNC_ACCESS CHAR (1) Y
  • N = このメソッドは関数表記を使用して呼び出すことができない
  • Y = このメソッドは関数表記を使用して呼び出すことができる。つまり、「WITH FUNCTION CCESS」属性が指定されている。
  • ブランク = ROUTINETYPE は "M" でない
OVERRIDDEN_METHODID INTEGER Y ユーザー定義のメソッドに OVERRIDING オプションが指定されている場合、オーバーライドされたメソッドの ID。 ROUTINETYPE が M でない場合は NULL 値。
SUBJECT_TYPESCHEMA VARCHAR (128) Y ユーザー定義メソッドのサブジェクト・タイプのスキーマ名。 ROUTINETYPE が M でない場合は NULL 値。
SUBJECT_TYPENAME VARCHAR (128) Y ユーザー定義メソッドのサブジェクト・タイプの非修飾名。 ROUTINETYPE が M でない場合は NULL 値。
CLASS VARCHAR (384) Y LANGUAGE JAVA、CLR、OLE の場合は、このルーチンをインプリメントしたクラスであり、それ以外の場合は、NULL 値です。
JAR_ID VARCHAR (128) Y LANGUAGE JAVA の場合は、このルーチンの作成時に jar ファイルを指定していれば、このルーチンをインプリメントしたインストール済みの jar ファイルの JAR_ID であり、それ以外の場合は、NULL 値です。 LANGUAGE CLR の場合は、このルーチンをインプリメントしたアセンブリー・ファイルです。
JARSCHEMA VARCHAR (128) Y LANGUAGE JAVA の場合は、JAR_ID が存在していれば、このルーチンをインプリメントした jar ファイルのスキーマ名であり、それ以外の場合は、NULL 値です。
JAR_SIGNATURE VARCHAR (2048) Y LANGUAGE JAVA の場合、これは、このルーチンの指定された Java™ メソッドのメソッド・シグニチャーです。 LANGUAGE CLR の場合は、この CLR ルーチンの参照フィールドです。 それ以外の場合、NULL 値です。
CREATE_TIME TIMESTAMP Y ルーチンが作成された時刻。
ALTER_TIME TIMESTAMP Y ルーチンが最後に変更された時刻。
FUNC_PATH CLOB (2K) Y ルーチンが定義された時点で有効だった SQL パス。 LANGUAGE が SQL でなく、ORIGIN が A でなく、どのパラメーターにもデフォルトがない場合は、NULL 値。
QUALIFIER VARCHAR (128) Y オブジェクト定義時のデフォルト・スキーマの値。 非修飾参照を完了するために使用します。
IOS_PER_INVOC DOUBLE Y 呼び出しごとの入力/出力 (I/O) の推定数。0 がデフォルト。不明の場合は -1。
INSTS_PER_INVOC DOUBLE Y 呼び出しごとの命令の数の見積もり。 デフォルト値は 450。不明の場合は -1。
IOS_PER_ARGBYTE DOUBLE Y 入力引数 1 バイトごとの入出力回数の見積もり。 デフォルト値は 0。不明の場合は -1。
INSTS_PER_ARGBYTE DOUBLE Y 入力引数 1 バイトごとの命令数の見積もり。0 がデフォルト。不明の場合は -1。
PERCENT_ARGBYTES SMALLINT Y ルーチンが実際に読み取る入力引数バイトの平均パーセント値の見積もり。 デフォルト値は 100。不明の場合は -1。
INITIAL_IOS DOUBLE Y 最初のルーチン呼び出し時に実行される入出力回数の見積もり。0 がデフォルト。不明の場合は -1。
INITIAL_INSTS DOUBLE Y 最初のルーチン呼び出し時に実行される命令の数の見積もり。0 がデフォルト。不明の場合は -1。
CARDINALITY BIGINT Y 表関数の予測されるカーディナリティー。 不明の場合、またはルーチンが表関数でない場合は -1。
SELECTIVITY2 DOUBLE Y ユーザー定義述部用。ユーザー定義述部がない場合は -1。
RESULT_COLS SMALLINT Y 表関数 (ROUTINETYPE = "F" および FUNCTIONTYPE = "T") の場合は結果表の列数。プロシージャー (ROUTINETYPE = "P") の場合は 0、その他の場合は 1 が入ります。
IMPLEMENTATION VARCHAR (762) Y ORIGIN=E (外部ルーチン) の場合は、EXTERNAL NAME 節の値。ORIGIN = U でソース関数が組み込み関数の場合は、ソース関数の名前とシグニチャー。LIB_ID が非 NULL で、LANGUAGE=SQL (コンパイル済み SQL ルーチン) の場合は、ライブラリー内の入り口点。その他の場合は NULL。
LIB_ID INTEGER Y コンパイル済み SQL ルーチンの内部 ID。 指定されていない場合は NULL 値です。
TEXT_BODY_OFFSET INTEGER Y LANGUAGE = "SQL" の場合、CREATE ステートメントのテキスト全体の中の、コンパイル済み SQL ルーチン本体の開始位置に対するオフセット。LANGUAGE が "SQL" でない場合、または SQL ルーチンがコンパイルされていない場合は -1。
テキスト CLOB (2M) Y LANGUAGE = "SQL" または ORIGIN = "A" の場合、CREATE FUNCTION、CREATE METHOD、または CREATE PROCEDURE ステートメントのフルテキスト。その他の場合は NULL 値。
NEWSAVEPOINTLEVEL CHAR (1) Y 呼び出し時にルーチンが新しいセーブポイント・レベルを開始するかどうかを指示します。
  • N = ルーチンの呼び出し時に新しいセーブポイント・レベルが開始されない。ルーチンは既存のセーブポイント・レベルを使用する。
  • Y = ルーチンの呼び出し時に新しいセーブポイント・レベルが開始される
  • ブランク = 該当しない場合
DEBUG_MODE3 VARCHAR (8) Y データベースと統合されたデバッガーを使用してルーチンをデバッグできるかどうかを示します。
  • DISALLOW = ルーチンはデバッグ不可
  • ALLOW = ルーチンはデバッグ可能で、統合デバッガーでクライアント・デバッグ・セッションに関与できる
  • DISABLE = ルーチンはデバッグ不可で、この設定は、ルーチンをドロップして再作成しなければ変更できない
  • ブランク = ルーチン・タイプは現在統合デバッガーによってサポートされていない
TRACE_LEVEL VARCHAR (1) Y 将来の利用のために予約済み。
DIAGNOSTIC_LEVEL VARCHAR (1) Y 将来の利用のために予約済み。
CHECKOUT_USERID VARCHAR (128) Y オブジェクトのチェックアウトを実行したユーザーの ID。オブジェクトがチェックアウトされていない場合は NULL 値。
PRECOMPILE_OPTIONS VARCHAR (1024) Y コンパイル済み SQL ルーチンが作成された時点で有効だったプリコンパイルおよびバインド・オプション。 LANGUAGE が "SQL" でない場合、または SQL ルーチンがコンパイルされていない場合は、NULL 値。
COMPILE_OPTIONS VARCHAR (1024) Y コンパイル済み SQL ルーチンが作成され、照会ディレクティブがあった時点で有効だった SQL_CCFLAGS 特殊レジスターの値。 コンパイル済み SQL ルーチンに照会ディレクティブがなかった場合は、空ストリング。 LANGUAGE が "SQL" でない場合、または SQL ルーチンがコンパイルされていない場合は、NULL 値。
EXECUTION_CONTROL CHAR (1) Y 共通言語ランタイム (CLR) ルーチンの実行制御モード。 可能な値は以下のとおりです。
  • N = Network
  • R = Fileread
  • S = Safe
  • U = Unsafe
  • W = Filewrite
  • ブランク = LANGUAGE は "CLR" でない
CODEPAGE SMALLINT Y ルーチン・コード・ページ。これは、すべての文字パラメーター・タイプ、結果タイプ、およびルーチン本体の中のローカル変数のデフォルト・コード・ページを指定します。
COLLATIONSCHEMA VARCHAR (128) Y ルーチンの照合のスキーマ名。
COLLATIONNAME VARCHAR (128) Y ルーチンの照合の非修飾名。
COLLATIONSCHEMA_ORDERBY VARCHAR (128) Y ルーチンの ORDER BY 節の照合のスキーマ名。
COLLATIONNAME_ORDERBY VARCHAR (128) Y ルーチンの ORDER BY 節の照合の非修飾名。
ENCODING_SCHEME CHAR (1) Y PARAMETER CCSID 節に指定された、ルーチンのコード化スキーム。 可能な値は以下のとおりです。
  • A = ASCII
  • U = UNICODE
  • ブランク = PARAMETER CCSID 節は指定されなかった
LAST_REGEN_TIME TIMESTAMP Y SQL ルーチン・パック記述子が最後に再生成された時刻。
INHERITLOCKREQUEST CHAR (1) Y
  • N = この関数またはメソッドは、指定した isolation-clause (分離節) の一部として lock-request-clause (ロック要求節) が含まれている SQL ステートメントの コンテキストで呼び出すことができない
  • Y = この関数またはメソッドは呼び出し元のステートメントの分離レベルを継承する。指定した lock-request-clause (ロック要求節) も継承する
  • ブランク = LANGUAGE が "SQL" でないか、ROUTINETYPE が "P" である
DEFINER4 VARCHAR (128) Y ルーチンの所有者の許可 ID。
SECURE CHAR (1) Y 行および列のアクセス制御において関数がセキュアであるどうかを示します
  • N = セキュアでない
  • Y = セキュア
  • ブランク = ROUTINETYPE は "F" でない
ENVSTRINGUNITS VARCHAR(11)   オブジェクト作成時のデフォルトのストリング単位。
STAYRESIDENT CHAR (1)   ルーチンの終了時にルーチン・ライブラリーをメモリーから削除するかどうかを決定する、ルーチンの STAYRESIDENT オプション。
  • N = ルーチンが終了するとルーチン・ライブラリーはメモリーから削除されます。
  • ブランク = STAY RESIDENT NO 節が指定されなかった場合
REMARKS VARCHAR (254) Y ユーザー提供のコメントまたは NULL 値。
注:
  1. データベースのアップグレード中は、どのようなユーザー定義ルーチンに関しても、パック記述子およびシステム・カタログにおいて SELECTIVITY 列は-1 に設定されます。 ユーザー定義述部の場合、システム・カタログでの選択度は -1 になります。 この場合、オプティマイザーが使用する選択度の値は 0.01 です。
  2. Java ルーチンの場合、DEBUG_MODE 設定は、Java ルーチンが実際にデバッグ・モードでコンパイルされたかどうか、またはデバッグ Jar がサーバーにインストールされたかどうかを示しません。
  3. DEFINER 列は、後方互換性のために含まれています。 OWNER を参照してください。