sql >> Base de Datos >  >> RDS >> PostgreSQL

función con valor de conjunto llamada en contexto que no puede aceptar un conjunto

  1. Llama a tu Función Set Returning en una cláusula FROM.
  2. Especifique siempre sus tipos.

Se llama Establecer función de devolución , pero desea especificar el tipo compuesto

Esto es totalmente válido,

RETURNS SETOF RECORD $$

Sin embargo, es posible que deba llamarlo con,

SELECT email, user_id
FROM 
    app.lookup_email(4,730035455897450,6,'u')
    AS t(email text, user_id integer)

El contexto en el que no puede llamar a un SRF sin tipo es uno que no tiene una definición de tabla. Esta sintaxis puede volverse desagradable, por lo que es más fácil cambiar RETURNS SETOF RECORD a

RETURNS TABLE(email text, user_id integer) AS $$

y use la función sin la lista de definición de columna

SELECT email, user_id
FROM app.lookup_email(4,730035455897450,6,'u')

Encuentre más información en los documentos