SET CURRENT PACKAGESET sentencia
La sentencia SET CURRENT PACKAGESET asigna un valor al registro especial CURRENT PACKAGESET.
Invocation for SET CURRENT PACKAGESET
Esta sentencia sólo puede incorporarse en un programa de aplicación. Es una sentencia ejecutable que no puede prepararse dinámicamente.
Autorización para SET CURRENT PACKAGESET
No se necesita ninguna.
Sintaxis para SET CURRENT PACKAGESET
descripción para SET CURRENT PACKAGESET
El valor de CURRENT PACKAGESET se sustituye por el valor del registro especial SESSION_USER, la cadena constante o la variable de host. El valor especificado por la cadena-constante o la variable-host debe ser una cadena de caracteres que no supere los 128 bytes.
Notas para CONFIGURAR PAQUETES ACTUALES CONFIGURAR
Selección de elementos del plan : Un elemento del plan es un DBRM que se ha vinculado al plan o a un paquete que se identifica implícita o explícitamente en la lista de paquetes del plan. Los elementos del plan contienen las estructuras de control utilizadas para ejecutar ciertas sentencias SQL.
Dado que un plan puede tener muchos elementos, uno de los primeros pasos en la ejecución de una instrucción SQL que requiere una estructura de control es la selección del elemento del plan que contiene su estructura de control. La información utilizada por Db2 para seleccionar los elementos del plan incluye el valor de CURRENT PACKAGESET.
SET CURRENT PACKAGESET se utiliza para especificar el ID de colección de un paquete que existe en el servidor actual. CONFIGURAR PAQUETES ACTUALES La configuración es opcional y no debe utilizarse sin comprender las siguientes reglas para seleccionar un elemento del plan.
Si el registro especial CURRENT PACKAGESET es una cadena vacía, Db2 busca un DBRM o un paquete en una de estas secuencias:
En la ubicación local (si SERVIDOR ACTUAL está en blanco o nombra explícitamente esa ubicación), el orden es:
- Todos los DBRM vinculados directamente al plan
- Todos los paquetes que ya se han asignado para el proceso de solicitud
- Todos los paquetes no asignados mencionados explícitamente en la lista de paquetes del plan y todas las colecciones incluidas en dicha lista. El orden de búsqueda es el orden en que esos paquetes se nombran en la lista de paquetes.
En una ubicación remota, el orden es:
- Todos los paquetes que ya se han asignado para el proceso de solicitud en esa ubicación
- Todos los paquetes no asignados nombrados explícitamente en la lista de paquetes del plan, y todas las colecciones completamente incluidas en ella, cuyas ubicaciones coincidan con el valor de CURRENT SERVER. El orden de búsqueda es el orden en que esos paquetes se nombran en la lista de paquetes.
Si se establece el registro especial CURRENT PACKAGESET, Db2 omite la comprobación de los programas que forman parte del plan y utiliza el valor de CURRENT PACKAGESET como colección. Por ejemplo, si CURRENT PACKAGESET contiene COL5, entonces Db2 utiliza COL5.PROG1.timestamp para la búsqueda. Para obtener más información, consulte Anulación de los valores que utiliza Db2 para resolver listas de paquetes.
Clasificación DRDA : SET CURRENT PACKAGESET es ejecutado por el solicitante y, por lo tanto, se clasifica como una instrucción SET local en DRDA.
Registro especial CURRENT PACKAGESET con procedimientos almacenados y funciones definidas por el usuario : El valor inicial del registro especial CURRENT PACKAGESET en un procedimiento almacenado o una función definida por el usuario es el valor del parámetro COLLID con el que se definió el procedimiento almacenado o la función definida por el usuario. Si la rutina se definió sin un valor para el parámetro COLLID, el valor del registro especial se hereda del programa de llamada. Un procedimiento almacenado o una función definida por el usuario puede utilizar la sentencia SET CURRENT PACKAGESET para cambiar el valor del registro especial. Esto permite que la rutina seleccione la versión del paquete Db2 que se utiliza para procesar las sentencias SQL en una rutina llamada que no está definida con un valor COLLID.
Cuando el control vuelve del procedimiento almacenado al programa de llamada, el registro especial CURRENT PACKAGESET se restaura al valor que contenía antes de que se llamara al procedimiento almacenado.
Ejemplos de SET CURRENT PACKAGESET
EXEC SQL SET CURRENT PACKAGESET = 'PERSONNEL'; EXEC SQL SET CURRENT PACKAGESET = '';