SYSPROGRAMSTAT

SYSPROGRAMSTAT ビューには、SQL ステートメントを含むプログラム、サービス・プログラム、およびモジュールごとに 1 行ずつ含まれます。

以下の表では、SYSPROGRAMSTAT ビューの列について説明します。

表 1. SYSPROGRAMSTAT ビュー
列名 システム列名 データ・タイプ 説明
PROGRAM_SCHEMA COLLID VARCHAR(128) スキーマの名前。
PROGRAM_NAME NAME VARCHAR(128) プログラム、サービス・プログラム、またはモジュールの名前。SQL プロシージャー、関数、またはトリガーの場合、これは SQL オブジェクト名です。
PROGRAM_TYPE PGMTYPE VARCHAR(128) オブジェクトのタイプ
*PGM
オブジェクトはプログラムです。
*MODULE
オブジェクトはモジュールです。
*SRVPGM
オブジェクトはサービス・プログラムです。
MODULE_NAME MODNAME VARCHAR(10)
NULL 可能
ILE プログラムまたはサービス・プログラムのモジュール名。

これが ILE プログラムでもサービス・プログラムでもない場合は、NULL 値が入ります。

PROGRAM_OWNER OWNER VARCHAR(128) プログラム、サービス・プログラム、またはモジュールの所有者
PROGRAM_CREATOR CREATOR VARCHAR(128) プログラム、サービス・プログラム、またはモジュールの作成者
CREATION_TIMESTAMP TIMESTAMP TIMESTAMP プログラム、サービス・プログラム、またはモジュールが作成されたときのタイム・スタンプ
DEFAULT_SCHEMA QUALIFIER VARCHAR(128)
NULL 可能
修飾されていない表、ビュー、および索引の暗黙の名前。

デフォルトの スキーマ (DFTRDBCOL) が指定されなかった場合、または、プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

ISOLATION ISOLATION CHAR(2)
NULL 可能
分離オプションの指定:
RR
反復可能読み取り (*RR)
RS
読み取り固定 (*ALL)
CS
カーソル固定 (*CS)
UR
非コミット読み取り (*CHG)
NC
コミットなし (*NONE)

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

CONCURRENTACCESSRESOLUTION CONCURRENT CHAR(1)
NULL 可能
並行アクセスの解決方法を指定します。
ブランク
指定しない
W
WAIT FOR OUTCOME
U
USE CURRENTLY COMMITTED

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

NUMBER_STATEMENTS NBRSTMTS INTEGER プログラム、サービス・プログラム、またはモジュール内の SQL ステートメントの数
PROGRAM_USED_SIZE PGMSIZE INTEGER プログラム、サービス・プログラム、またはモジュール内の SQL ステートメントおよびアクセス・プランに使用されるバイトの数
NUMBER_COMPRESSIONS PGM_CMP
NULL 可能
INTEGER
NULL 可能
プログラムまたはサービス・プログラムが圧縮された回数。

モジュールの場合、または、 プログラムが SQL ステートメントのない外部プロシージャーである場合、NULL が入ります。

STATEMENT_CONTENTION_COUNT CONTENTION BIGINT
NULL 可能
新規アクセス・プランを保管しようとしたときに競合が発生した回数。

モジュールの場合、または、 プログラムが SQL ステートメントのない外部プロシージャーである場合、NULL が入ります。

ORIGINAL_SOURCE_FILE SOURCE VARCHAR(128)
NULL 可能
プログラムまたはモジュールの作成に使用された完全修飾ソース・ファイルおよびメンバー。

SQL ルーチンの場合、または、 プログラムが SQL ステートメントのない外部プロシージャーである場合、NULL が入ります。

ORIGINAL_SOURCE_FILE_CCSID SRC_CCSID INTEGER
NULL 可能
プログラムまたはモジュールの作成時に使用されたソース・ファイルの CCSID。

SQL ルーチンの場合、または、 プログラムが SQL ステートメントのない外部プロシージャーである場合、NULL が入ります。

ROUTINE_TYPE RTNTYPE VARCHAR(9)
NULL 可能
ルーチンのタイプ。
PROCEDURE
これはプロシージャーです。
FUNCTION
これは関数です。
TRIGGER
これはトリガーです。

モジュールの場合、もしくはプログラムまたはサービス・プログラムがプロシージャー、関数、またはトリガーではない場合は、NULL が入ります NUMBER_EXTERNAL_ROUTINES がゼロより大きい場合を除いて、外部プロシージャーは PROCEDURE として識別されません。

ROUTINE_BODY BODY VARCHAR(8)
NULL 可能
ルーチン本体のタイプ:
EXTERNAL
これは外部ルーチンです。
SQL
これは SQL ルーチンです。

モジュールの場合、もしくはプログラムまたはサービス・プログラムがプロシージャーまたは関数ではない場合は、NULL が入ります

FUNCTION_ORIGIN ORIGIN CHAR(1)
NULL 可能
関数のタイプを識別します。 これがプロシージャーの場合、この列にはブランクが入ります。
B
これは組み込み関数 (Db2® for iによって定義された) です。
E
これはユーザー定義関数です。
U
これは、他の関数をソースとしているユーザー定義関数です。
S
これはシステム生成関数です。

モジュールの場合、もしくはプログラムまたはサービス・プログラムがプロシージャーまたは関数ではない場合は、NULL が入ります

FUNCTION_TYPE TYPE CHAR(1)
NULL 可能
関数の形式を識別します。 これがプロシージャーの場合、この列にはブランクが入ります。
S
これはスカラー関数です。
C
これは列関数です。
T
これは表関数です。

モジュールの場合、もしくはプログラムまたはサービス・プログラムがプロシージャー、関数、またはトリガーではない場合は、NULL が入ります

NUMBER_EXTERNAL_ROUTINES NBREXTRTN SMALLINT
NULL 可能
プログラムまたはサービス・プログラムに保管されたプロシージャーおよび関数定義の数を示します。

モジュール、トリガー、または SQL ルーチンの場合は NULL が入ります。

EXTENDED_INDICATOR EXTIND VARCHAR(9)
NULL 可能
EXTIND 属性を示します。
*EXTIND
拡張標識サポートは有効です。
*NOEXTIND
拡張標識サポートは有効ではありません。

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

C_NUL_REQUIRED CNULRQD VARCHAR(10)
NULL 可能
CNULRQD 属性を示します。
*CNULRQD
C NUL は必須です。
*NOCNULRQD
C NUL は必須ではありません。

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

NAMING NAMING VARCHAR(4)
NULL 可能
NAMING 属性を示します。
*SYS
これはシステムによる命名です。
*SQL
これは SQL による命名です。

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

TARGET_RELEASE TGTRLS VARCHAR(6)
NULL 可能
プログラム、サービス・プログラム、またはモジュールのターゲット・リリースを示します (VxRxMx)。

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

EARLIEST_POSSIBLE_RELEASE MINRLS VARCHAR(6)
NULL 可能
プログラム、サービス・プログラム、またはモジュール内のすべての SQL ステートメントを サポートする最も古い IBM i リリースを示します (VxRxMx)。
ANY
ステートメントは、サポートされている任意の IBM i リリースで有効です。
VxRxMx
ステートメントは、IBM i VxRxMx リリースまたはそれ以降で有効です。

最も古いリリース がまだ判別されていない場合、または、プログラムが SQL ステートメントのない外部プロシージャーである場合、NULL が入ります。

RDB RDB VARCHAR(18)
NULL 可能
プログラム、サービス・プログラム、またはモジュールに対して指定された RDB を示します。
rdb-name
リレーショナル・データベースの名前。
*NONE
リレーショナル・データベースは指定されていません。

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

CONSISTENCY_TOKEN CONTOKEN VARBINARY(8)
NULL 可能
プログラムの整合性トークンを示します。

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

ALLOW_COPY_DATA ALWCPYDTA VARCHAR(9)
NULL 可能
ALWCPYDTA 属性を示します。
*NO
データのコピーを使用することはできません。
*OPTIMIZE
結果としてパフォーマンスがよくなる可能性がある場合は常に、データのコピーが許可されます。
*YES
必要な場合に限り、データのコピーが許可されます。

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

CLOSE_SQL_CURSOR CLOSQLCSR VARCHAR(10)
NULL 可能
CLOSQLCSR 属性を示します。
*ENDACTGRP
活動化グループが終了すると、SQL カーソルはクローズし、SQL 準備済みステートメントは暗黙的に廃棄され、LOCK TABLE ロックは解除されます。
*ENDJOB
ジョブが終了すると、SQL カーソルはクローズされ、SQL 準備済みステートメントは暗黙的に廃棄され、LOCK TABLE ロックは解除されます。
*ENDMOD
モジュールが終了すると、SQL カーソルはクローズし、SQL 準備済みステートメントは暗黙的に廃棄されます。 LOCK TABLE ロックは、呼び出しスタックの最初の SQL プログラムが終了すると解除されます。
*ENDPGM
プログラムが終了すると、SQL カーソルはクローズし、SQL 準備済みステートメントは暗黙的に廃棄されます。 LOCK TABLE ロックは、呼び出しスタックの最初の SQL プログラムが終了すると解除されます。

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

LOB_FETCH_OPTIMIZATION OPTLOB VARCHAR(9) LOB 最適化属性を示します。
*OPTLOB
カーソルの最初の FETCH によって、それ以降のすべての FETCH においてそのカーソルが LOB および XML 結果列にどのように使用されるかが決定されます。
*NOOPTLOB
どの FETCH も LOB または XML 結果列を取り出してロケーターまたは変数のいずれかに入れることができます。
DECIMAL_POINT DECPNT VARCHAR(7) SQL ステートメントで使用される数値定数の小数点を示します。
*PERIOD
小数点にピリオドを使用します。
*COMMA
小数点にコンマを使用します。
SQL_STRING_DELIMITER STRDLM VARCHAR(9) SQL ステートメントでストリング区切り文字として使用される文字を示します。
*APOSTSQL
ストリング区切り文字はアポストロフィ (') です。
*QUOTESQL
ストリング区切り文字は引用符 (") です。
DATE_FORMAT DATFMT VARCHAR(4)
NULL 可能
DATFMT 属性を示します。
*JOB
実行時にジョブで指定される日付形式を使用します。
*USA
日付形式は *USA です。
*ISO
日付形式は *ISO です。
*EUR
日付形式は *EUR です。
*JIS
日付形式は *JIS です。
*MDY
日付形式は *MDY です。
*DMY
日付形式は *DMY です。
*YMD
日付形式は *YMD です。
*JUL
日付形式は *JUL です。

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

DATE_SEPARATOR DATSEP CHAR(1)
NULL 可能
日付区切り記号を示します。

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

TIME_FORMAT TIMFMT VARCHAR(4)
NULL 可能
TIMFMT 属性を示します。
*JOB
実行時にジョブで指定される時刻形式を使用します。
*USA
時刻形式は *USA です。
*ISO
時刻形式は *ISO です。
*EUR
時刻形式は *EUR です。
*JIS
時刻形式は *JIS です。
*HMS
時刻形式は *HMS です。

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

TIME_SEPARATOR TIMSEP CHAR(1)
NULL 可能
時刻区切り記号を示します。

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

DYNAMIC_DEFAULT_SCHEMA DYNDFTCOL VARCHAR(4)
NULL 可能
動的 SQL ステートメントの暗黙の修飾に DFTRDBCOL の値を使用するかどうかを指定します。
*NO
DFTDRBCOL で指定されているスキーマは、動的 SQL ステートメント用に使用されません。
*YES
DFTDRBCOL で指定されているスキーマは、動的 SQL ステートメント用に使用されます。

デフォルトの スキーマ (DFTRDBCOL) が指定されなかった場合、または、プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

CURRENT_RULES SQLCURRULE VARCHAR(4)
NULL 可能
SQLCURRULE 属性を示します。
*DB2
すべての SQL ステートメントの意味体系は、デフォルトにより、Db2 用に設定された規則に従います。
*STD
すべての SQL ステートメントの意味体系は、デフォルトにより、 ISO および ANSI SQL の規格用に設定された規則に従います。

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

ALLOW_BLOCK ALWBLK VARCHAR(8)
NULL 可能
ALWBLK 属性を示します。
*ALLREAD
読み取り専用カーソルの場合は行がブロックされます。
*NONE
カーソルに関するデータの検索のために、行はブロックされません。
*READ
以下の場合は、カーソルに関するデータの読み取り専用検索で、レコードがブロックされます。
  • コミットメント制御 (COMMIT) パラメーターに *NONE が指定されているとき。
  • FOR READ ONLY 文節によってカーソルが宣言されたとき、またはカーソルに関して 位置指定 UPDATE ステートメントまたは DELETE ステートメントを実行できる動的ステートメントがないとき。

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

DELAY_PREPARE DLYPRP VARCHAR(4)
NULL 可能
DLYPRP 属性を示します。
*NO
動的ステートメントの妥当性検査は、動的ステートメントの作成時に実行されます。
*YES
動的ステートメントの妥当性検査は、その動的ステートメントが使用されるときまで遅延されます。

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

USER_PROFILE USRPRF VARCHAR(7)
NULL 可能
権限検査に使用するユーザー・プロファイルを指定します。
*USER
プログラムを実行しているユーザーのプロファイルが使用されます。
*OWNER
プログラムの所有者とプログラムを実行するユーザーの両方のプロファイルが使用されます。
*NAMING
命名規則が *SQL の場合、*OWNER が使用されます。 命名規則が *SYS の場合、*USER が使用されます。

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

DYNAMIC_USER_PROFILE DYNUSRPRF VARCHAR(6)
NULL 可能
動的 SQL ステートメントに使用するユーザー・プロファイルを指定します。
*USER
ローカル動的 SQL ステートメントは、ジョブまたはスレッドのプロファイルのもとで実行されます。 分散動的 SQL ステートメントは、アプリケーション・サーバー・ジョブのプロファイルのもとで実行されます。
*OWNER
ローカル動的 SQL ステートメントが、プログラムの所有者のプロファイルのもとで実行されます。 分散動的 SQL ステートメントは、SQL パッケージの所有者のプロファイルのもとで実行されます。

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

SORT_SEQUENCE SRTSEQ VARCHAR(12)
NULL 可能
プログラム、サービス・プログラム、またはモジュールが照合順序を使用するかどうかを示します。
BY HEX VALUE
SQL 索引では照合テーブルを使用しません。
*LANGIDSHR
SQL 索引では共用重みソート順序 (SRTSEQ) を使用します。
*LANGIDUNQ
SQL 索引では固有重みソート順序 (SRTSEQ) を使用します。
ALTSEQ
SQL 索引では代替照合順序 (ALTSEQ) を使用します。

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

LANGUAGE_IDENTIFIER LANGID CHAR(3)
NULL 可能
言語 ID ソート順序。

ソート順序が *LANGIDSHR でも *LANGIDUNQ でもない場合、または、プログラムが SQL ステートメントのない外部プロシージャーである場合、NULL が入ります。

SORT_SEQUENCE_SCHEMA SRTSEQSCH CHAR(10)
NULL 可能
ソート順序表のシステム・スキーマ。

ソート順序が 16 進である場合、または、プログラムが SQL ステートメントのない外部プロシージャーである 場合、NULL が入ります。

SORT_SEQUENCE_NAME SRTSEQNAME CHAR(10)
NULL 可能
ソート順序表の名前。

ソート順序が 16 進である場合、または、プログラムが SQL ステートメントのない外部プロシージャーである 場合、NULL が入ります。

RDB_CONNECTION_METHOD RDBCNNMTH VARCHAR(4)
NULL 可能
CONNECT ステートメントに使用する意味体系を指定します。
*RUW
CONNECT (タイプ 1) の意味体系は、リモート作業単位をサポートするのに使用されます。
*DUW
CONNECT (タイプ 2) の意味体系は、分散作業単位をサポートするのに使用されます。

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

DECRESULT_MAXIMUM_PRECISION DECMAXPRC SMALLINT
NULL 可能
最大精度を指定します。
31
最大精度は 31 です。
63
最大精度は 63 です。

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

DECRESULT_MAXIMUM_SCALE DECMAXSCL SMALLINT
NULL 可能
結果データ・タイプについて返される最大位取り (小数点の右側にある小数部の桁数)。

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

DECRESULT_MINIMUM_DIVIDE_SCALE DECMINDIV SMALLINT
NULL 可能
中間および結果の両方のデータ・タイプについて返される最小除算位取り (小数点の右側にある小数部の桁数)。

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

DECFLOAT_ROUNDING_MODE DECFLTRND VARCHAR(8)
NULL 可能
DECFLOAT 丸めモードを示します。
CEILING
ROUND_CEILING
DOWN
ROUND_DOWN
FLOOR
ROUND_FLOOR
HALFDOWN
ROUND_HALF_DOWN
HALFEVEN
ROUND_HALF_EVEN
HALFUP
ROUND_HALF_UP
UP
ROUND_UP

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

DECFLOAT_WARNING DECFLTWRN VARCHAR(3)
NULL 可能
DECFLOAT 警告が返されるかどうかを指定します。
NO
DECFLOAT 警告は返されません。
YES
DECFLOAT 警告が返されます。

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

SQLPATH SQLPATH VARCHAR(3483)
NULL 可能
SQL パスを示します。

SQL パス が指定されていない場合、または、 プログラムが SQL ステートメントのない外部プロシージャーである場合、NULL 値が入ります。

DBGVIEW DBGVIEW VARCHAR(9)
NULL 可能
ソース・デバッグ情報のタイプを指定します。
*NONE
デバッグがありません。
*SOURCE
デバッグ・ビューには、ソースと SQL INCLUDE ステートメントが含まれます。
*STMT
デバッグ・ビューには、プリコンパイラー生成ステートメントが含まれます。
*LIST
デバッグ・ビューには、コンパイルされたリストが含まれます。
*LSTDBG
デバッグ・ビューには、OPM プログラムのコンパイルされたリストが含まれます。
ALLOW
ソース・デバッグは Unified Debugger によって許可されます。
DISALLOW
ソース・デバッグは Unified Debugger によって許可されません。
DISABLE
ソース・デバッグは Unified Debugger によって許可されず、DEBUG MODE は変更できません。

プログラムが SQL ステートメントのない外部プロシージャー である場合、NULL が入ります。

DBGKEY DBGKEY VARCHAR(3)
NULL 可能
ソース・デバッグ情報のタイプを指定します。
NO
デバッグ暗号鍵 (DBGENCKEY) パラメーターで暗号鍵が指定されていませんでした。
YES
デバッグ暗号鍵 (DBGENCKEY) パラメーターで鍵が指定されていました。

DBGENCKEY がサポートされていない 場合、または、プログラムが SQL ステートメントのない外部プロシージャーである場合、NULL が入ります。

LAST_USED_TIMESTAMP LASTUSED TIMESTAMP
NULL 可能
プログラム、サービス・プログラム、モジュールのいずれかが最後に使用されたときのタイム・スタンプ。

プログラム、 サービス・プログラム、またはモジュールが一度も使用されていない場合、NULL が入ります。

DAYS_USED_COUNT DAYSUSED INTEGER 使用状況統計が最後にリセットされたとき以降に、プログラム、サービス・プログラム、モジュールのいずれかが使用された日数。使用状況統計が前回リセットされた後でそのプログラム、サービス・プログラム、またはモジュールが一度も使用されていない場合には、0 が入ります。
LAST_RESET_TIMESTAMP LASTRESET TIMESTAMP
NULL 可能
使用状況統計が前回リセットされたときのタイム・スタンプ。

統計が一度もリセットされていない 場合、NULL が入ります。

SYSTEM_PROGRAM_NAME SYS_NAME CHAR(10) プログラム、サービス・プログラム、またはモジュールのシステム名
SYSTEM_PROGRAM_SCHEMA SYS_DNAME CHAR(10) プログラム、サービス・プログラム、またはモジュールを含むスキーマのシステム名
IASP_NUMBER IASPNUMBER INTEGER 独立補助記憶域プール (IASP) 番号を指定します。
SYSTEM_TIME_SENSITIVE SYSTIME VARCHAR(3)
NULL 可能
CURRENT TEMPORAL SYSTEM_TIME 特殊レジスターがプログラム内の静的および動的 SQL ステートメントに影響するかどうかを指定します。
YES
システム期間テンポラル表への参照は、CURRENT TEMPORAL SYSTEM_TIME 特殊レジスターの値の影響を受けます。
NO
システム期間テンポラル表への参照は、CURRENT TEMPORAL SYSTEM_TIME 特殊レジスターの値の影響を受けません。

プログラムが 7.3 より前のバージョンでコンパイルされたものである場合は、NULL が入り、これは NO と同じように扱われます。