Tipos de variables globales
Existen tres formas distintas de clasificar las variables globales: por la propiedad de la variable, por el ámbito del valor y por el método utilizado para mantener el valor.
Propiedad de la variable
Una variable global puede clasificarse basándose en si la variable es propiedad del gestor de bases de datos o si la variable es una variable definida por el usuario.
-
El gestor de bases de datos crea variables globales incorporadas.
Las variables globales incorporadas se registran en el gestor de bases de datos, en el catálogo del sistema. Las variables globales incorporadas pertenecen al esquema
siguiente:
- SYSIBM
- SYSIBMADM
- Un usuario crea una variable global definida por el usuario mediante la utilización de una sentencia DDL de SQL. Las variables globales definidas por el usuario se registran en el gestor de bases de datos, en el catálogo del sistema. Una variable global de esquema definida por el usuario se crea mediante la utilización de la sentencia de SQL CREATE VARIABLE. Una variable global de módulo definida por el usuario se crea mediante la utilización de la opción ADD VARIABLE o PUBLISH VARIABLE de la sentencia de SQL ALTER MODULE.
Ámbito del valor
Una variable global puede clasificarse como de sesión o de base de datos, en función del ámbito del valor:
- El valor de una variable global de sesión se asocia de forma exclusiva a cada sesión que utiliza esta variable global en particular. Las variables globales de sesión son variables globales incorporadas o variables globales definidas por el usuario.
- El valor de una variable global de base de datos es un valor único que se conserva para todas las sesiones que utilizan esta variable global en particular. Las variables globales de base de datos siempre son variables globales incorporadas.
Método utilizado para el mantenimiento del valor
Una variable global pueden clasificarse en función de cómo se mantiene la variable:
- Una variable global constante tiene un valor fijo del que se crea una instancia basándose en la evaluación de la cláusula CONSTANT cuando se hace referencia por primera vez a la variable global en la sesión o en la base de datos, en función del ámbito de la variable global. Este tipo de variable global se crea mediante la utilización de la cláusula CONSTANT en la sentencia CREATE VARIABLE. No puede asignarse un valor a la variable global mediante la utilización de una sentencia de SQL. Las variables globales constantes son variables globales de sólo lectura.
- Una variable global mantenida por el sistema tiene un valor que el gestor de bases de datos establece. No puede asignarse un valor mediante la utilización de una sentencia de SQL. Sólo las variables globales incorporadas pueden definirse como variables globales mantenidas por el sistema, y la mayoría de variables globales incorporadas se definen como variables globales mantenidas por el sistema. Las variables globales mantenidas por el sistema son variables globales de sólo lectura.
- A una variable global mantenida por el usuario se le puede asignar un valor mediante la utilización de una sentencia de SQL; sin embargo, esta asignación requiere privilegio WRITE para la variable global. Este tipo de variable global es el valor por omisión para las variables globales definidas por el usuario que se definen sin utilizar una cláusula CONSTANT. Las variables globales incorporadas también pueden definirse de modo que admitan la asignación de valores mediante una sentencia de SQL.