Sentencia CALL

La sentencia CALL invoca un procedimiento almacenado.

Sintaxis

Leer diagrama de sintaxisOmitir el diagrama de sintaxis visualetiqueta:CALL nombre-procedimientolista de argumentos

lista de argumentos:

Leer diagrama de sintaxisOmitir el diagrama de sintaxis visual(,nombre-variable-SQLNombre del parámetro SQLexpresiónNULL)

Descripción

etiqueta
Inicio del cambioEspecifica la etiqueta para la instrucción CALL. El nombre de la etiqueta no puede ser el mismo que el nombre de la rutina, el nombre del activador avanzado u otra etiqueta dentro del mismo ámbito. Para obtener información adicional, consulte Referencias a etiquetas SQL en SQL PL.fin del cambio
nombre-del-procedimiento
Identifica el procedimiento almacenado que se debe llamar. El nombre del procedimiento debe identificar un procedimiento almacenado que exista en el servidor actual.
lista de argumentos
Identifica una lista de valores que se pasarán como parámetros al procedimiento almacenado. El enésimo valor corresponde al enésimo parámetro del procedimiento. El número de parámetros debe ser el mismo que el número de parámetros definidos para el procedimiento almacenado. Consulte el extracto de cuenta CALL para obtener más información.

El control se pasa al procedimiento almacenado de acuerdo con las convenciones de llamada para las rutinas SQL. Cuando se completa la ejecución del procedimiento almacenado, el valor de cada parámetro del procedimiento almacenado se asigna al parámetro correspondiente de la instrucción CALL definida como OUT o INOUT.

Nombre de variable SQL
Especifica una variable SQL como argumento del procedimiento almacenado. Para una explicación de las referencias a variables SQL, consulte Referencias a parámetros y variables SQL en SQL PL.
Nombre del parámetro SQL
Especifica un parámetro SQL como argumento del procedimiento almacenado. Para una explicación de las referencias a parámetros SQL, consulte Referencias a parámetros y variables SQL en SQL PL.
expresión
El parámetro es el resultado de la expresión especificada, que se evalúa antes de invocar el procedimiento almacenado. Si expression es un nombre de parámetro SQL o un nombre de variable SQL único, el parámetro correspondiente del procedimiento puede definirse como IN, INOUT u OUT. De lo contrario, el parámetro correspondiente del procedimiento debe definirse como IN. Si el resultado de la expresión puede ser el valor nulo, la descripción del procedimiento debe permitir parámetros nulos o el parámetro correspondiente del procedimiento almacenado debe definirse como OUT.

Las siguientes reglas adicionales se aplican dependiendo de cómo se haya definido el parámetro correspondiente en la instrucción CREATE PROCEDURE para el procedimiento:

  • La expresión IN puede contener referencias a múltiples parámetros o variables SQL. Además de las reglas establecidas en Expresiones para la expresión, la expresión no puede incluir un nombre de columna, una función agregada o una función definida por el usuario que se obtenga de una función agregada.
  • La expresión INOUT o OUT solo puede ser un único parámetro o variable SQL.
Nulo
El parámetro es un valor NULL. El parámetro correspondiente del procedimiento debe definirse como IN y la descripción del procedimiento debe permitir parámetros nulos.

Notas

Consulte la instrucción CALL para obtener más información sobre la instrucción SQL CALL.

ejemplos

Llame al procedimiento almacenado proc1 y pase variables SQL como parámetros.
CALL proc1(v_empno, v_salary)