专用寄存器

专用寄存器是由数据库管理器为应用程序进程定义的存储区域。 它用于存储可在 SQL 语句中引用的信息。

对专用寄存器的引用是对当前服务器所提供值的引用。 如果该值为字符串,那么其 CCSID 是当前服务器的缺省 CCSID。

可以按如下方式引用专用寄存器:

Read syntax diagramSkip visual syntax diagramCURRENT 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_MESSAGESCURRENT 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
Notes:
  • 1 The SQL2008 Core standard uses the form with the underscore.

可以使用 SET 语句更新某些专用寄存器。 下表显示了可更新的专用寄存器,并指示哪个专用寄存器可以为空值。

在例程中引用专用寄存器时,例程中专用寄存器的值取决于该专用寄存器是否可更新。 对于不可更新的专用寄存器,该值将设置为专用寄存器的缺省值。 对于可更新的专用寄存器,将从例程的调用程序中继承初始值,并且可以通过例程内的后续 SET 语句更改该值。