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

Leer el esquema de sintaxisOmitir el esquema de sintaxis visualALTERdesignador-procedimiento EXTERNAL ACTIONNO EXTERNAL ACTIONNEW SAVEPOINT LEVEL
designador-procedimiento
Leer el esquema de sintaxisOmitir el esquema de sintaxis visualPROCEDUREnombre-procedimiento(,tipo-datos)SPECIFIC PROCEDUREnombre-específico

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