pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Calin Meze <mezecalin@yahoo.com>
To: pgsql-sql@postgresql.org
Subject: Help me do a LOOP
Date: Wed, 14 Dec 2005 00:21:30 -0800 (PST)
Message-ID: <20051214082130.36637.qmail@web52809.mail.yahoo.com> (raw)

 I need to test each record of a cursor for some requirements, something like this
  
  DECLARE xpvnr varchar(50);
       xdata date;
       xcod int;
       xagentd varchar(3);
       xid bigint;
       xserie varchar(4);
       xnr varchar(7);
       xsocasig varchar(3);
  DECLARE myCursor CURSOR FOR
       select cod,pvnr,data,agentd,id,serie,nr,socasig 
       from pvmst, pvdtl
       where pvmst.cod=pvdtl.cod
       order by data;
  BEGIN
  delete from stoccalc_temp;
  OPEN myCursor;
  FETCH NEXT FROM myCursor INTO xcod,xpvnr,xdata,xagentd,xid,xserie,xnr,  xsocasig;   
WHILE (still in the cursor)
     BEGIN
     DECLARE
          xxcod varchar(21);
          xxcod2 varchar(21);
          xxagent varchar(3);
          xxid bigint;
     DECLARE my2cursor CURSOR FOR
          select cod,agent,id from stoccalc_temp 
          where nr=xnr and serie=xserie and socasig=xsocasig;
          OPEN my2cursor;
          FETCH NEXT FROM my2cursor INTO xxcod,xxagent,xxid;
          xxcod2:=TRIM('2005'+TRIM(xsocasig)+TRIM(xxagent)+TRIM(xserie)+TRIM(xnr));
          IF xxcod <> '' THEN -- inseamna ca este in stoccalc_temp polita
          update stoccalc set cod=xxcod2, agent=xxagent, stare='0' where id=xid;
          END IF;
          CLOSE my2cursor;
     FETCH NEXT FROM myCursor INTO xcod,xpvnr,xdata,xagentd,xid,xserie,xnr,xsocasig;
     END;
CLOSE myCursor;
END;
  
  -- the problem is that I do not know how to make the while loop execute  until the last record "WHILE (still in the cursor)"... So I need  something like 
  
  for i:=1 to lastrecord_of_cursor do
  begin
  ...
  end; 
  
  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.
  Help 
  

			
---------------------------------
Yahoo! Shopping
 Find Great Deals on Holiday Gifts at Yahoo! Shopping 

view thread (2+ messages)  latest in thread

Message-ID: <20051214082130.36637.qmail@web52809.mail.yahoo.com>
Permalink:  ../20051214082130.36637.qmail@web52809.mail.yahoo.com/
Also on:    postgresql.org/message-id/20051214082130.36637.qmail@web52809.mail.yahoo.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: mezecalin@yahoo.com
  Subject: Re: Help me do a LOOP
  In-Reply-To: <20051214082130.36637.qmail@web52809.mail.yahoo.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox