CALL

CALL — invocar un procedimiento

Synopsis

CALL name ( [ argument ] [, ...] )

Descripción

CALL ejecuta un procedimiento.

Si el procedimiento tiene algún parámetro de salida, se devolverá una fila de resultado con los valores de dichos parámetros.

Parámetros

name

El nombre (opcionalmente calificado por esquema) del procedimiento.

argument

Una expresión de argumento para la llamada al procedimiento.

Los argumentos pueden incluir nombres de parámetros usando la sintaxis name => value. Esto funciona de la misma manera que en las llamadas a funciones normales; consulta Section 4.3 para obtener más detalles.

Se deben proporcionar argumentos para todos los parámetros del procedimiento que carezcan de valores por defecto, incluidos los parámetros OUT. Sin embargo, los argumentos correspondientes a los parámetros OUT no se evalúan, por lo que se acostumbra a escribir simplemente NULL para ellos. (Escribir otra cosa para un parámetro OUT podría causar problemas de compatibilidad con futuras versiones de PostgreSQL).

Notas

El usuario debe tener el privilegio EXECUTE sobre el procedimiento para poder invocarlo.

Para llamar a una función (no a un procedimiento), usa SELECT en su lugar.

Si CALL se ejecuta en un bloque de transacción, el procedimiento llamado no puede ejecutar instrucciones de control de transacciones. Las instrucciones de control de transacciones solo se permiten si CALL se ejecuta en su propia transacción.

PL/pgSQL maneja los parámetros de salida en los comandos CALL de manera diferente; consulta Section 41.6.3.

Ejemplos

CALL do_db_maintenance();

Compatibilidad

CALL cumple con el estándar SQL, excepto por el manejo de los parámetros de salida. El estándar indica que los usuarios deben escribir variables para recibir los valores de los parámetros de salida.

Consulte también

CREATE PROCEDURE