venerdì 6 luglio 2012

Funzione multi-cursore

Qualche giorno fa ho implementato un semplicissimo esempio didattico di una stored procedure che scorre piu' cursori contemporaneamente. PostgreSQL non consente ad una funzione di ritornare piu' cursori, ma consente ad una funzione di restituire un insieme (setof) di riferimenti a cursori, ossia di "handle" che possono essere usati per le operazioni di FETCH. Il trucco quindi consiste nell'aprire i cursori all'interno della stored procedure per poi ritornare i riferimenti al chiamante, che li userà per ottenere le tuple relative.

Nessun commento: