Help me do a LOOP - Mailing list pgsql-sql

From Calin Meze
Subject Help me do a LOOP
Date
Msg-id 20051214082130.36637.qmail@web52809.mail.yahoo.com
Whole thread Raw
Responses Re: Help me do a LOOP  (Richard Huxton <dev@archonet.com>)
List pgsql-sql
<div id="RTEContent"> I need to test each record of a cursor for some requirements, something like this<br /><br />
DECLARExpvnr varchar(50);<br />      xdata date;<br />      xcod int;<br />      xagentd varchar(3);<br />      xid
bigint;<br/>      xserie varchar(4);<br />      xnr varchar(7);<br />      xsocasig varchar(3);<br /> DECLARE myCursor
CURSORFOR<br />      select cod,pvnr,data,agentd,id,serie,nr,socasig <br />      from pvmst, pvdtl<br />      where
pvmst.cod=pvdtl.cod<br/>      order by data;<br /> BEGIN<br /> delete from stoccalc_temp;<br /> OPEN myCursor;<br />
FETCHNEXT FROM myCursor INTO xcod,xpvnr,xdata,xagentd,xid,xserie,xnr, <div id="intelliTxt" name="intelliTxt"><wbr
/>xsocasig;  <br />WH ILE (still in the cursor)<br />     BEGIN<br />     DECLARE<br />          xxcod varchar(21);<br
/>         xxcod2 varchar(21);<br />          xxagent varchar(3);<br />          xxid bigint;<br />     DECLARE
my2cursorCURSOR FOR<br />          select cod,agent,id from stoccalc_temp <br />          where nr=xnr and serie=xserie
andsocasig=xsocasig;<br />          OPEN my2cursor;<br />          FETCH NEXT FROM my2cursor INTO
xxcod,xxagent,xxid;<br/>          xxcod2:=TRIM('2005'+TRIM(xsocasig)+TRIM(<wbr />xxagent)+T<wbr />RIM(xserie<wbr
/>)+TRIM(xnr<wbr/>));<br />          IF xxcod <> '' THEN -- inseamna ca este in stoccalc_temp polita<br />     
    updatestoccalc set cod=xxcod2, agent=xxagent, stare='0' where id=xid;<br />          END IF;<br />          CLOSE
my2cursor;<br/>     FETCH NEXT FROM myCursor INTO xcod,xpvnr,xdata,xagentd,xid,xserie,xnr,<wbr />xsocasig;<br
/>     END;<br/>CLOSE myCursor;<br />END;</div><br /> -- the problem is that I do not know how to make the while loop
executeuntil the last record "WHILE (still in the cursor)"... So I need something like <br /><br /> for i:=1 to
lastrecord_of_cursordo<br /> begin<br /> ...<br /> end; <br /><br /> Can anyone help me with this? It really seems
silly...but I cannot get to solve this, I do not know where to look for syntax like this or tutorials  like this.<br />
Help<br /></div><p><hr size="1" />Yahoo! Shopping<br /> Find Great Deals on Holiday Gifts at <a
href="http://us.rd.yahoo.com/mail_us/footer/shopping/*http://shopping.yahoo.com/;_ylc=X3oDMTE2bzVzaHJtBF9TAzk1OTQ5NjM2BHNlYwNtYWlsdGFnBHNsawNob2xpZGF5LTA1

">Yahoo! Shopping</a>

pgsql-sql by date:

Previous
From: "Jim C. Nasby"
Date:
Subject: Re: Does VACUUM reorder tables on clustered indices
Next
From: "Michael Farewell"
Date:
Subject: Problem obtaining MAX values FROM TABLE