<html><div style='background-color:'><BR>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=ES-CL><FONT size=2><FONT face="Courier New">Hola lista:</FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=ES-CL><FONT size=2><FONT face="Courier New"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT></FONT></SPAN> </P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=ES-CL><FONT size=2><FONT face="Courier New"> Quiero hacer algo parecido a las siguientes funciones.<SPAN style="mso-spacerun: yes"> </SPAN><o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=ES-CL><FONT size=2><FONT face="Courier New">Lo que necesito realizar es lo siguiente: en la funcion "uno" recorro la tabla llamada "mitabla" la cual me llena el registro llamado "registros" a través del SELECT.<SPAN style="mso-spacerun: yes"> </SPAN>"mitabla" tiene 3 campos llamados campo1, campo2, campo3, con sus respectivos datos.<SPAN style="mso-spacerun: yes"> </SPAN>Una vez hecho esto necesito pasar el "registros" que posee los datos de "mitabla" como parametro a la funcion "dos", pero me sale el siguiente erros :-(<SPAN style="mso-spacerun: yes"> </SPAN>:<o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=ES-CL><o:p><FONT face="Courier New" size=2> </FONT></o:p></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT size=2><FONT face="Courier New">zonaprueba=# select uno();<o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><o:p><FONT face="Courier New" size=2> </FONT></o:p></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT size=2><FONT face="Courier New">WARNING:<SPAN style="mso-spacerun: yes"> </SPAN>Error occurred while executing PL/pgSQL function uno<o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT size=2><FONT face="Courier New">WARNING:<SPAN style="mso-spacerun: yes"> </SPAN>line 11 at assignment<o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT size=2><FONT face="Courier New">ERROR:<SPAN style="mso-spacerun: yes"> </SPAN>Attribute "registros" not found<o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><o:p><FONT face="Courier New" size=2> </FONT></o:p></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><FONT size=2><FONT face="Courier New"><SPAN lang=ES-CL>Al parecer no se puede hacer.<SPAN style="mso-spacerun: yes"> </SPAN>Si alguien puede aportar alguna idea estaria muy agradecida...<SPAN style="mso-spacerun: yes"> </SPAN></SPAN><SPAN lang=EN-US style="mso-ansi-language: EN-US">Porfis, porfis ;-)<o:p></o:p></SPAN></FONT></FONT></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><o:p><FONT face="Courier New" size=2> </FONT></o:p></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><o:p><FONT face="Courier New" size=2> </FONT></o:p></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT size=2><FONT face="Courier New">DROP FUNCTION DOS(RECORD);<o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT size=2><FONT face="Courier New">CREATE FUNCTION DOS(RECORD) <o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT size=2><FONT face="Courier New">RETURNS varchar AS '<o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=ES-CL><FONT size=2><FONT face="Courier New">DECLARE<o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=ES-CL><FONT size=2><FONT face="Courier New"><SPAN style="mso-spacerun: yes"> </SPAN>registros_var ALIAS FOR $1;<o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=ES-CL><FONT size=2><FONT face="Courier New"><SPAN style="mso-spacerun: yes"> </SPAN>variable<SPAN style="mso-spacerun: yes"> </SPAN>varchar;<o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=ES-CL><FONT size=2><FONT face="Courier New">BEGIN<o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=ES-CL><FONT size=2><FONT face="Courier New"><SPAN style="mso-spacerun: yes"> </SPAN>variable:=registros_var.campo1;<o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><FONT size=2><FONT face="Courier New"><SPAN lang=ES-CL><SPAN style="mso-spacerun: yes"> </SPAN></SPAN><SPAN lang=EN-US style="mso-ansi-language: EN-US">RETURN variable;<o:p></o:p></SPAN></FONT></FONT></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT size=2><FONT face="Courier New">END;<o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT size=2><FONT face="Courier New">' LANGUAGE 'plpgsql';<o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><o:p><FONT face="Courier New" size=2> </FONT></o:p></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><o:p><FONT face="Courier New" size=2> </FONT></o:p></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT size=2><FONT face="Courier New">DROP FUNCTION UNO();<o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT size=2><FONT face="Courier New">CREATE FUNCTION UNO () <o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT size=2><FONT face="Courier New">RETURNS VARCHAR AS '<o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=ES-CL><FONT size=2><FONT face="Courier New">DECLARE<o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=ES-CL><FONT size=2><FONT face="Courier New"><SPAN style="mso-spacerun: yes"> </SPAN>registros<SPAN style="mso-spacerun: yes"> </SPAN>RECORD;<o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=ES-CL><FONT size=2><FONT face="Courier New"><SPAN style="mso-spacerun: yes"> </SPAN>llamafuncion<SPAN style="mso-spacerun: yes"> </SPAN>varchar;<o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT size=2><FONT face="Courier New">BEGIN<o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT size=2><FONT face="Courier New"><SPAN style="mso-spacerun: yes"> </SPAN>FOR registros IN<o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT size=2><FONT face="Courier New"><SPAN style="mso-spacerun: yes"> </SPAN>SELECT * FROM mitabla loop<o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><FONT size=2><FONT face="Courier New"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><SPAN style="mso-spacerun: yes"> </SPAN></SPAN><SPAN lang=ES-CL>END loop;<o:p></o:p></SPAN></FONT></FONT></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=ES-CL><FONT size=2><FONT face="Courier New"><SPAN style="mso-spacerun: yes"> </SPAN>llamafuncion := dos(registros);<o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><FONT size=2><FONT face="Courier New"><SPAN lang=ES-CL><SPAN style="mso-spacerun: yes"> </SPAN></SPAN><SPAN lang=EN-US style="mso-ansi-language: EN-US">return llamafuncion;<o:p></o:p></SPAN></FONT></FONT></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT size=2><FONT face="Courier New">END;<o:p></o:p></FONT></FONT></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-ansi-language: EN-US"><FONT size=2><FONT face="Courier New">' LANGUAGE 'plpgsql';<o:p></o:p></FONT></FONT></SPAN></P><BR><BR>
<DIV></DIV></div><br clear=all><hr>Nuevo MSN Messenger <a href="http://g.msn.com/8HMAESCL/2746??PS=47575">Una forma rápida y divertida de enviar mensajes</a> </html>