Registros especiales en una función definida por el usuario o un procedimiento almacenado

Puede utilizar todos los registros especiales en una función definida por el usuario o un procedimiento almacenado. Sin embargo, puede modificar solo algunos de estos registros especiales.

Después de que se complete una función definida por el usuario o un procedimiento almacenado, Db2 restaura todos los registros especiales a los valores que tenían antes de la invocación.

La siguiente tabla muestra la información que necesita cuando utiliza registros especiales en una función definida por el usuario o un procedimiento almacenado.

Tabla 1. Características de los registros especiales en una función definida por el usuario o un procedimiento almacenado
Registro especial Valor inicial cuando se especifica la opción HEREDAR REGISTROS ESPECIALES Valor inicial cuando se especifica la opción REGISTROS ESPECIALES POR DEFECTO ¿Puede Routine utilizar la instrucción SET para modificar?
Inicio del cambioCURRENT ACCELERATORfin del cambio Inicio del cambioHeredado de la aplicación invocadora 6; de lo contrario, no se utiliza ningún acelerador preferido y Db2 determinará el acelerador de destinofin del cambio Inicio del cambioEl valor de la opción de enlace ACCELERATOR si se especifica para la función definida por el usuario o el paquete de procedimientos almacenados; de lo contrario, no se utiliza ningún acelerador preferido y Db2 determinará el acelerador de destinofin del cambio Inicio del cambiotruefin del cambio
CURRENT APPLICATION COMPATIBILITY El valor de la opción de enlace APPLCOMPAT para la función definida por el usuario o el paquete de procedimientos almacenados El valor de la opción de enlace APPLCOMPAT para la función definida por el usuario o el paquete de procedimientos almacenados true
CURRENT APPLICATION ENCODING SCHEME El valor de la opción de enlace ENCODING para la función definida por el usuario o el paquete de procedimientos almacenados El valor de la opción de enlace ENCODING para la función definida por el usuario o el paquete de procedimientos almacenados true
CURRENT CLIENT_ACCTNG Heredado de la aplicación de invocación Heredado de la aplicación de invocación No aplicable5
CURRENT CLIENT_APPLNAME Heredado de la aplicación de invocación Heredado de la aplicación de invocación No aplicable5
CURRENT CLIENT_USERID Heredado de la aplicación de invocación Heredado de la aplicación de invocación No aplicable5
CURRENT CLIENT_WRKSTNNAME Heredado de la aplicación de invocación Heredado de la aplicación de invocación No aplicable5
CURRENT DATE Nuevo valor para cada instrucción SQL en el pa quete de funciones definidas por el usuario o procedimientos almacenados1 Nuevo valor para cada instrucción SQL en el pa quete de funciones definidas por el usuario o procedimientos almacenados1 No aplicable5
CURRENT DEBUG MODE Heredado de la aplicación de invocación DISALLOW true
CURRENT DECFLOAT ROUNDING MODE Heredado de la aplicación de invocación El valor de la opción de enlace REDONDEAR para el paquete de funciones definidas por el usuario o procedimientos almacenados true
CURRENT DEGREE GRADO ACT UAL2 El valor del campo CURRENT DEGREE en el panel de instalación DSNTIP8 true
CURRENT EXPLAIN MODE Heredado de la aplicación de invocación NEE true
CURRENT GET_ACCEL_ARCHIVE Inicio del cambioHeredado de la aplicación invocadora 6; de lo contrario, se utilizará el valor del parámetro del subsistemafin del cambio Inicio del cambioEl valor de la opción de enlace GETACCELARCHIVE si se especifica para el paquete de funciones definidas por el usuario o de procedimientos almacenados; de lo contrario, se utilizará el valor del parámetro del subsistemafin del cambio true
CURRENT LOCALE LC_CTYPE Heredado de la aplicación de invocación El valor del campo CURRENT LC_CTYPE en el panel de instalación DSNTIPF true
CURRENT MAINTAINED TABLE TYPES FOR OPTIMIZATION Heredado de la aplicación de invocación Valor predeterminado del sistema true
CURRENT MEMBER Nuevo valor para cada instrucción SET host-variable=CURRENT MEMBER Nuevo valor para cada instrucción SET host-variable=CURRENT MEMBER No aplicable5
CURRENT OPTIMIZATION HINT El valor de la opción de enlace OPTHINT para el paquete de funciones definidas por el usuario o procedimiento almacenado o heredado de la aplicación que lo invoca 6 El valor de la opción de enlace OPTHINT para la función definida por el usuario o el paquete de procedimientos almacenados true
CURRENT PACKAGE PATH Una cadena vacía si la rutina se definió con un valor COLLID; de lo contrario, se hereda de la aplicación que invoca4 Una cadena vacía, independientemente de si se especificó un valor COLLID para la rutina4 true
CURRENT PACKAGESET Heredado de la aplicación invocadora 3 Heredado de la aplicación invocadora 3 true
CURRENT PATH El valor de la opción de enlace PATH para el paquete de funciones definido por el usuario o procedimiento almacenado o heredado de la aplicación que lo invoca 6 El valor de la opción de enlace PATH para la función definida por el usuario o el paquete de procedimientos almacenados true
CURRENT PRECISION Heredado de la aplicación de invocación El valor del campo ARITMÉTICA DECIMAL en el panel de instalación DSNTIP4 true
CURRENT QUERY ACCELERATION Inicio del cambioHeredado de la aplicación invocadora 6; de lo contrario, se utilizará el valor del parámetro del subsistemafin del cambio Inicio del cambioEl valor de la opción de enlace QUERYACCELERATION si se especifica para el paquete de funciones definidas por el usuario o de procedimientos almacenados; de lo contrario, se utilizará el valor del parámetro del subsistemafin del cambio true
Inicio del cambioCURRENT QUERY ACCELERATION WAITFORDATAfin del cambio Inicio del cambioHeredado de la aplicación invocadora 6; de lo contrario, se utilizará el valor del parámetro del subsistemafin del cambio Inicio del cambioEl valor de la opción ACCELERATIONWAITFORDATA si se especifica para el paquete de funciones definidas por el usuario o de procedimientos almacenados; de lo contrario, se utilizará el valor del parámetro del subsistemafin del cambio Inicio del cambiotruefin del cambio
CURRENT REFRESH AGE Heredado de la aplicación de invocación Valor predeterminado del sistema true
CURRENT ROUTINE VERSION Heredado de la aplicación de invocación La cadena vacía true
CURRENT RULES Heredado de la aplicación de invocación El valor de la opción de enlace SQLRULES para el plan que invoca una función definida por el usuario o un procedimiento almacenado true
CURRENT SCHEMA Heredado de la aplicación de invocación El valor de CURRENT SCHEMA cuando se introduce la rutina true
CURRENT SERVER Heredado de la aplicación de invocación Heredado de la aplicación de invocación true
CURRENT SQLID El ID de autorización principal del proceso de aplicación o heredado de la aplicación que lo invoca 7 El ID de autorización principal del proceso de solicitud 8
CURRENT TEMPORAL BUSINESS_TIME Heredado de la aplicación de invocación Nulo true
CURRENT TEMPORAL SYSTEM_TIME Heredado de la aplicación de invocación Nulo true
CURRENT TIME Nuevo valor para cada instrucción SQL en el pa quete de funciones definidas por el usuario o procedimientos almacenados1 Nuevo valor para cada instrucción SQL en el pa quete de funciones definidas por el usuario o procedimientos almacenados1 No aplicable5
CURRENT TIMESTAMP Nuevo valor para cada instrucción SQL en el pa quete de funciones definidas por el usuario o procedimientos almacenados1 Nuevo valor para cada instrucción SQL en el pa quete de funciones definidas por el usuario o procedimientos almacenados1 No aplicable5
FECHA Y HORA ACTUAL CON ZONA HORARIA Nuevo valor para cada instrucción SQL en el pa quete de funciones definidas por el usuario o procedimientos almacenados1 Nuevo valor para cada instrucción SQL en el pa quete de funciones definidas por el usuario o procedimientos almacenados1 No aplicable5
CURRENT TIME ZONE Heredado de la aplicación de invocación Heredado de la aplicación de invocación No aplicable5
ENCRYPTION PASSWORD Heredado de la aplicación de invocación Heredado de la aplicación de invocación true
SESSION TIME ZONE Heredado de la aplicación de invocación El valor de ZONA HORARIA ACTUAL cuando se introduce la rutina true
SESSION_USER o USER ID de autorización principal del proceso de solicitud ID de autorización principal del proceso de solicitud No aplicable5
Notas:
  1. Si la función definida por el usuario o el procedimiento almacenado se invoca dentro del ámbito de un desencadenador, Db2 utiliza la marca de tiempo de la instrucción SQL desencadenante como marca de tiempo para todas las instrucciones SQL del paquete.
  2. Db2 permite el paralelismo en un solo nivel de una instrucción SQL anidada. Si establece el valor del registro especial CURRENT DEGREE en ANY y el paralelismo está desactivado, Db2 ignora el valor CURRENT DEGREE.
  3. Si la definición de rutina incluye una especificación para COLLID, Db2 establece CURRENT PACKAGESET en el valor de COLLID. Si se especifican tanto CURRENT PACKAGE PATH como COLLID, el valor CURRENT PACKAGE PATH tiene prioridad y COLLID se ignora.
  4. Si la definición de la función incluye una especificación para PACKAGE PATH, Db2 establece CURRENT PACKAGE PATH en el valor de PACKAGE PATH.
  5. No aplicable porque no existe ninguna declaración SET para el registro especial.
  6. Si un programa dentro del ámbito del programa invocador emite una instrucción SET para el registro especial antes de invocar la función definida por el usuario o el procedimiento almacenado, el registro especial hereda el valor de la instrucción SET. De lo contrario, el registro especial contiene el valor establecido por la opción de enlace para el paquete de funciones definidas por el usuario o procedimientos almacenados.
  7. Si un programa dentro del ámbito del programa invocador emite una instrucción SET CURRENT SQLID antes de que se invoque la función definida por el usuario o el procedimiento almacenado, el registro especial hereda el valor de la instrucción SET. De lo contrario, CURRENT SQLID contiene el ID de autorización del proceso de solicitud.
  8. Si la función definida por el usuario o el paquete de procedimientos almacenados utiliza un valor distinto de RUN para la opción de enlace DYNAMICRULES, se puede ejecutar la instrucción SET CURRENT SQLID. Sin embargo, no afecta al ID de autorización que se utiliza para las sentencias SQL dinámicas en el paquete. El valor DYNAMICRULES determina el ID de autorización que se utiliza para las sentencias SQL dinámicas.