Referencias a parámetros de SQL, variables de SQL y variables globales
Puede hacerse referencia a los parámetros SQL, las variables de SQL y a las variables globales en cualquier punto de la sentencia de procedimiento SQL donde pueda especificarse una expresión o una variable.
- Restricciones de comprobación
- Definiciones de columnas generadas
- Renovar MQT inmediatas
Todos los parámetros de SQL, las variables de SQL, los campos de variables de filas y las variables globales se consideran anulables. El nombre de un parámetro de SQL, de una variable de SQL, de un campo de variable de fila o de una variable global de una rutina de SQL puede ser igual al nombre de una columna de una tabla o vista a la que se haga referencia en la rutina. El nombre de una variable de SQL o un campo de variable de fila también puede ser el mismo que el nombre de otra variable de SQL o campo de variable de fila declarado en la misma rutina. Esto puede ocurrir cuando las dos variables de SQL están declaradas en sentencias compuestas diferentes. La sentencia compuesta que contiene la declaración del nombre de una variable de SQL determina el ámbito del nombre de dicha variable. Para obtener más información, consulte el apartado Sentencia de SQL compuesto (compilado).
- En las sentencias SET PATH y SET SCHEMA, se comprueba si el nombre es un parámetro de SQL o una variable de SQL. Si no se encuentra como variable de SQL o parámetro de SQL, se utiliza como identificador.
- En las sentencias CONNECT, DISCONNECT, RELEASE y SET CONNECTION, se utiliza el nombre como identificador.
- Si las tablas y vistas que se han especificado en el cuerpo de la rutina de SQL existen en el momento de crearse la rutina, primero se comprueba si el nombre es un nombre de columna. Si no se encuentra como columna, se comprueba si es como variable de SQL en la sentencia compuesta y, a continuación, si es como parámetro de SQL y, finalmente, se comprueba si es como variable global.
- Si las tablas o vistas a las que se hace referencia no existen en el momento de crearse la rutina, primero se comprueba si el nombre es una variable de SQL de la sentencia compuesta, a continuación como parámetro de SQL y luego como variable global. La variable puede declararse dentro de la sentencia compuesta que contiene referencia o dentro de una sentencia compuesta en la que dicha sentencia compuesta esté anidada. Si dos variables de SQL están dentro del mismo ámbito y tienen el mismo nombre, cosa que puede ocurrir si están declaradas en sentencias compuestas distintas, se utiliza la variable de SQL declarada en la sentencia compuesta más interior. Si no se encuentra, se da por supuesto que es una columna.