Sentencia ALTER PROCEDURE (SQL)
La sentencia ALTER PROCEDURE (SQL) modifica un procedimiento SQL existente cambiando las propiedades del procedimiento.
Invocación
Esta sentencia se puede incorporar a un programa de aplicación o emitir mediante el uso de sentencias de SQL dinámico. Es una sentencia ejecutable que puede prepararse de forma dinámica sólo si el comportamiento de ejecución de DYNAMICRULES está en vigor para el paquete (SQLSTATE 42509).
Autorización
Los privilegios que posee el ID de autorización de la sentencia debe tener al menos una de las autorizaciones siguientes:
- Privilegio ALTERIN para el esquema del procedimiento
- Propietario del procedimiento, como está registrado en la columna OWNER de la vista de catálogo SYSCAT.ROUTINES
- Autorización SCHEMAADM en el esquema del procedimiento
- Autorización DBADM
Sintaxis
Descripción
- designador-procedimiento
- Identifica el procedimiento a modificar. El designador-procedimiento debe identificar un procedimiento que exista en el servidor actual. Se conservan el propietario del procedimiento y todos los privilegios en el procedimiento. Para obtener más información, consulte el apartado Designadores de función, método y procedimiento.
- EXTERNAL ACTION o NO EXTERNAL ACTION
- Especifica si el procedimiento realiza alguna acción que cambia el estado de un objeto que el gestor de bases de datos no gestiona (EXTERNAL ACTION) o no (NO EXTERNAL ACTION). Si se especifica NO EXTERNAL ACTION, el sistema puede utilizar determinadas optimizaciones que suponen que el procedimiento no tiene ningún impacto externo.
- NEW SAVEPOINT LEVEL
- Especifica que se debe crear un nuevo nivel de punto de salvaguarda para el procedimiento. Un nivel de punto de salvaguarda hace referencia al ámbito de referencia para cualquier sentencia
relacionada con el punto de salvaguarda, así como al espacio de nombres utilizado para
la comparación y la referencia de cualquier nombre de punto de salvaguarda.
El nivel de punto de salvaguarda para un procedimiento sólo se puede modificar por NEW SAVEPOINT LEVEL.
Normas
- No es
posible modificar un procedimiento que esté en el esquema siguiente (SQLSTATE 42832):
- SYSIBM
- SYSFUN
- SYSPROC
Ejemplo
Modifique el procedimiento MEDIAN_RESULT_SET para
indicar que no tiene ninguna acción externa.
ALTER PROCEDURE MEDIAN_RESULT_SET(DOUBLE)
NO EXTERNAL ACTION