CALL — invocar un procedimiento
CALLname( [argument] [, ...] )
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.
nameEl nombre (opcionalmente calificado por esquema) del procedimiento.
argumentUna expresión de argumento para la llamada al procedimiento.
Los argumentos pueden incluir nombres de parámetros usando la sintaxis
.
Esto funciona de la misma manera que en las llamadas a funciones normales; consulta
Section 4.3 para obtener más detalles.
name => value
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).
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.
CALL do_db_maintenance();
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.