2010-05-01 27 views
7

¿Es posible que una función de plgregsql de PostgreSQL no devuelva nada? Creé una función y no necesito devolver nada, ya que realiza una consulta SQL compleja e inserta los resultados de esa consulta en otra tabla (SELECCIONAR EN ....). Por lo tanto, no necesito ni me interesa que la función devuelva ningún resultado o valor. Lamentablemente, cuando trato de omitir la cláusula RETURN de la declaración de función, no puedo crear la función. ¿Es posible que una función de PostgreSQL plpgsql no devuelva nada?no devuelve nada de la función postgresql?

Respuesta

-1

No, al menos debe devolver null. Desde el PostgreSQL documentation:

Una función de disparo debe devolver cualquiera NULL o un valor de grabación/fila tener exactamente la estructura de la mesa de la desencadenante fue despedido por.

+0

es perfectamente aceptable devolver VACÍO en cuyo caso no es necesario que devuelva nada. –

+0

Una función (PL/pgSQL) puede volverse vacía, pero cuando la función se usa como función de activación, la función tiene que devolver algo. – user272735

0

Esto no responde directamente a su pregunta, pero me pareció interesante que no necesita una cláusula RETURN si tiene uno o más parámetros de salida OUT. Eso obviamente devuelve algo, pero te permite "omitir el RETORNO" como dices.

Cuestiones relacionadas