Re: [postgresql-it] problemi con "connect by"

  • From: simone nessuno <simonehp@xxxxxxxxx>
  • To: postgresql-it <postgresql-it@xxxxxxxxxxxxx>
  • Date: Thu, 20 Sep 2018 11:39:33 +0200

Ciao Enrico,
questa cosa è favolosa!!

ora pero' mi si è presentato un altro problema:
ho quella funzione split che riceve una stringa di nomi separati da virgola
e restituisce un refcursor con una lista di quei nomi su piu righe senza
virgola.

quando vado a richiamare quella funziona dentro ad un altra funzione non mi
fa vedere i risultati ma solo <unnamed portal 1> , non riesco a fargli
ciclare quel refcursor come se fossero piu dati :(


Il giorno gio 20 set 2018 alle ore 09:21 Enrico Pirozzi <
e.pirozzi@xxxxxxxxxxx> ha scritto:

Ciao Simone,

stavo pensando se devi ottenre qualcosa del tipo

select level,trim(regexp_substr('pippo,pluto,paperino',[^,]+', 1, level))
     from dual
     connect by regexp_substr('pippo,pluto,paperino', '[^,]+', 1, level)
is not null;

     1 pippo
     2 pluto
     3 paperino


potresti provare un approccio del tipo:

  select row_number() over() as level ,V.descrizione
  from
  (select regexp_split_to_table('pippo,pluto,paperino,topolino','[,]+')
as descrizione ) V


Spero possa esserti di aiuto

Enrico




Il 18/09/2018 17:00, simone nessuno ha scritto:
Ciao, chi mi puo' aiutare a tradurre questa semplice funzione,piu che
allo sulla parte della query,che io ci sto diventando pazzo?
grazie

  function split (stringa in varchar) return refcursor as $$
declare
    cursore refcursor;
    s varchar(4000);
  begin
    s := trim(stringa);

    open cursore for
  select trim(regexp_substr(s,'[^,]+', 1, level))
      from dual
      connect by regexp_substr(s, '[^,]+', 1, level) is not null;

    return(cursore);
  end; $$

--

"Every night we hope and pray
That we can do enough to keep our love"
Noel Gallagher


--
Questo messaggio è stato analizzato con Libra ESVA ed è risultato non
infetto.



_______________________________________________
Postgresql-it mailing list
Postgresql-it@xxxxxxxxxxxxx
http://lists.psql.it/mailman/listinfo/postgresql-it

--
Enrico Pirozzi
NBS Group S.r.l.
via Val Tiberina 23/A
63074, San Benedetto del Tronto (AP)
Tel. 0735-7626201



_______________________________________________
Postgresql-it mailing list
Postgresql-it@xxxxxxxxxxxxx
http://lists.psql.it/mailman/listinfo/postgresql-it



-- 

"Every night we hope and pray
That we can do enough to keep our love"
Noel Gallagher

Other related posts: