2010-05-01 17 views
7

È possibile che una funzione di plpgsql di PostgreSQL non restituisca nulla? Ho creato una funzione e non ne ho bisogno per restituire nulla, poiché esegue una query SQL complessa e inserisce i risultati di quella query in un'altra tabella (SELECT INTO ....). Pertanto, non ho alcun bisogno o interesse nel far restituire alla funzione qualsiasi output o valore. Sfortunatamente, quando provo ad omettere la clausola RETURN della dichiarazione di funzione, non riesco a creare la funzione. È possibile che una funzione di plpgsql di PostgreSQL non restituisca nulla?non restituisce nulla dalla funzione postgresql?

risposta

-1

No, deve almeno restituire null. Dalla PostgreSQL documentation:

Una funzione trigger deve restituire NULL o il valore record/riga avente esattamente la struttura della tabella grilletto stato sparato per.

+0

è perfettamente accettabile restituire VOID in quale istanza non è necessario restituire nulla. –

+0

Una funzione (PL/pgSQL) può restituire void, ma quando la funzione viene utilizzata come funzione di trigger, la funzione deve restituire qualcosa. – user272735

0

Questo non risponde direttamente alla tua domanda, ma ho trovato interessante il fatto che non hai bisogno di una clausola RETURN se si dispone di uno o più OUT parametri di output. Ovviamente restituisce qualcosa, ma consente di "omettere il RITORNO" come dici tu.

Problemi correlati