特殊レジスター

特殊レジスター は、データベース・マネージャーによってアプリケーション・プロセスに対して定義されるストレージ域です。 それは、SQL ステートメントで参照可能な情報を保管するのに使用されます。

特殊レジスターの参照は、 現行サーバーから提供される値の参照になります。 値がストリングの場合、その CCSID は、現行サーバーのデフォルト CCSID になります。

特殊レジスターの参照は、次のようにして行うことができます。

構文図を読む構文図をスキップするCURRENT CLIENT_ACCTNGCLIENT ACCTNGCURRENT CLIENT_APPLNAMECLIENT APPLNAMECURRENT CLIENT_USERIDCLIENT USERIDCURRENT CLIENT_WRKSTNNAMECLIENT WRKSTNNAMECURRENT DATECURRENT_DATE1CURRENT DBPARTITIONNUMCURRENT DECFLOAT ROUNDING MODECURRENT DEFAULT TRANSFORM GROUPCURRENT DEGREECURRENT EXPLAIN MODECURRENT EXPLAIN SNAPSHOTCURRENT FEDERATED ASYNCHRONYCURRENT IMPLICIT XMLPARSE OPTIONCURRENT ISOLATIONCURRENT LOCALE LC_TIMECURRENT LOCK TIMEOUTCURRENT MAINTAINED TABLE TYPES FOR OPTIMIZATIONCURRENT MDC ROLLOUT MODECURRENT MEMBERCURRENT OPTIMIZATION PROFILECURRENT PACKAGE PATHCURRENT PATHCURRENT_PATH1CURRENT QUERY OPTIMIZATIONCURRENT REFRESH AGECURRENT SCHEMACURRENT_SCHEMA1CURRENT SERVERCURRENT_SERVER1CURRENT SQL_CCFLAGSCURRENT TEMPORAL BUSINESS_TIMECURRENT TEMPORAL SYSTEM_TIMECURRENT TIMECURRENT_TIME1CURRENT TIMESTAMPCURRENT_TIMESTAMP1(integer)CURRENT TIMEZONECURRENT_TIMEZONE1CURRENT USERCURRENT_USER1SESSION_USERUSERSYSTEM_USER
注:
  • 1 SQL2008 Core 標準では、下線付きの書式が使用されます。

一部の特殊レジスターは、SET ステートメントを使用して更新できます。 以下の表は、どの特殊レジスターを更新できるか、およびどの特殊レジスターで NULL 値が可能かを示しています。

表 1. 更新可能および NULL 可能な特殊レジスター
特殊レジスター 更新可能 NULL 可能
CURRENT CLIENT_ACCTNG いいえ いいえ
CURRENT CLIENT_APPLNAME いいえ いいえ
CURRENT CLIENT_USERID いいえ いいえ
CURRENT CLIENT_WRKSTNNAME いいえ いいえ
CURRENT DATE いいえ いいえ
CURRENT DBPARTITIONNUM いいえ いいえ
CURRENT DECFLOAT ROUNDING MODE いいえ いいえ
CURRENT DEFAULT TRANSFORM GROUP はい いいえ
CURRENT DEGREE はい いいえ
CURRENT EXPLAIN MODE はい いいえ
CURRENT EXPLAIN SNAPSHOT はい いいえ
CURRENT FEDERATED ASYNCHRONY はい いいえ
CURRENT IMPLICIT XMLPARSE OPTION はい いいえ
CURRENT ISOLATION はい いいえ
CURRENT LOCALE LC_MESSAGES 特殊レジスター はい いいえ
CURRENT LOCALE LC_TIME はい いいえ
CURRENT LOCK TIMEOUT はい はい
CURRENT MAINTAINED TABLE TYPES FOR OPTIMIZATION はい いいえ
CURRENT MDC ROLLOUT MODE はい いいえ
CURRENT MEMBER いいえ いいえ
CURRENT OPTIMIZATION PROFILE はい はい
CURRENT PACKAGE PATH はい いいえ
CURRENT PATH はい いいえ
CURRENT QUERY OPTIMIZATION はい いいえ
CURRENT REFRESH AGE はい いいえ
CURRENT SCHEMA はい いいえ
CURRENT SERVER いいえ いいえ
CURRENT SQL_CCFLAGS はい いいえ
CURRENT TEMPORAL BUSINESS_TIME はい はい
CURRENT TEMPORAL SYSTEM_TIME はい はい
CURRENT TIME いいえ いいえ
CURRENT TIMESTAMP いいえ いいえ
CURRENT TIMEZONE いいえ いいえ
CURRENT USER いいえ いいえ
SESSION_USER はい いいえ
SYSTEM_USER いいえ いいえ
USER はい いいえ

特殊レジスターがルーチン内で参照されるとき、 ルーチン内の特殊レジスターの値はその特殊レジスターが更新可能かどうかによって異なります。 更新可能ではない特殊レジスターの場合、 値はその特殊レジスターのデフォルト値に設定されます。 更新可能な特殊レジスターの場合、初期値はルーチンの起動側から継承されて、 ルーチン内の後続の SET ステートメントによって変更できます。