Skip site navigation (1) Skip section navigation (2)

Loop de registros postgresql

From: Dianna Florencia Romero Berrospi <diannys_1282(at)hotmail(dot)com>
To: <postgres(dot)arg(at)gmail(dot)com>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Loop de registros postgresql
Date: 2010-06-21 20:03:01
Message-ID: COL112-W143C96D891889632834C14FFC30@phx.gbl (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Versión de Postgres es 8.4
Corrijo la pregunta y la función, para que la pregunta se haga mas entendible
El documento I-00003, tiene como referencia a: I-00002 y este a su vez tiene como referencia a: I-00001 y el documento I-00001, referencia a 5 documentos: E-02973,E-02972,E-02971,E-02970,E-02969.
lo que quiero es ubicar todo el recorrido del documento digamos... E-02970, osea debería tener una columna con los siguientes datos:E-02970,I-00001,I-00002,I-00003, y almacenarlos en una tabla temporal, para esto use la siguiente función, gracias por su ayuda
---Diana Florencia



ID |           FECHA         |REFERENCIA|DOCUMENTO|---|-------------------------|----------|---------|26 | 2010-06-15 11:37:46.796 | 	E-02969 | I-00001 | 27 | 2010-06-15 11:37:47.875 |	E-02970 | I-00001 | 28 | 2010-06-15 11:37:48.968 | 	E-02971 | I-00001 | 29 | 2010-06-15 11:37:49.734 | 	E-02972 | I-00001 | 30 | 2010-06-15 11:37:50.484 | 	E-02973 | I-00001 | 31 | 2010-06-15 16:14:36.234 | 	I-00001 | I-00002 | 32 | 2010-06-15 16:33:28.394 | 	I-00002 | I-00003 | 

Create or Replace Function spDocCarpeta(	Codigo Varchar)Returns SetOf RefCursor As$Body$	Declare Lista RefCursor;		CodDoc Varchar;		Registro Integer;	Begin		CodDoc := $1;				Create Temp Table Carpeta 		(			Doc Varchar(15),			Ref Varchar(15)		)		On Commit Drop;			Select 	Count(Referencia)		Into 	Registro		From	DocumentoReferencia		Where 	Referencia = CodDoc;		 		While Registro <> 0 Loop 			Select	Documento 			Into	CodDoc 			From	DocumentoReferencia 			Where	Referencia = CodDoc;  			Insert Into Carpeta 			Values 			( 				$1, 				CodDoc 			);  		End Loop;


 		FOR Lista IN SELECT doc FROM Carpeta LOOP 			RETURN NEXT Lista; 		END LOOP;
		Return Registro;						Commit;		End;$Body$LANGUAGE 'plpgsql' VOLATILE;	 		 	   		  
_________________________________________________________________
Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy!
http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&mkt=en-us

In response to

Responses

pgsql-es-ayuda by date

Next:From: Emanuel Calvo FrancoDate: 2010-06-21 20:11:51
Subject: Re: Loop de registros postgresql
Previous:From: Emanuel Calvo FrancoDate: 2010-06-21 19:57:09
Subject: Re: Loop de registros postgresql

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group