Path: dp-news.maxwell.syr.edu!spool.maxwell.syr.edu!drn.maxwell.syr.edu!news.maxwell.syr.edu!postnews.google.com!g14g2000cwa.googlegroups.com!not-for-mail
From: wtistang@hotmail.com
Newsgroups: comp.databases.oracle.misc
Subject: How to Use Cursor variable in Where Statement
Date: 11 Nov 2005 05:33:51 -0800
Organization: http://groups.google.com
Lines: 25
Message-ID: <1131716031.431225.114570@g14g2000cwa.googlegroups.com>
NNTP-Posting-Host: 67.191.172.56
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
X-Trace: posting.google.com 1131716038 7309 127.0.0.1 (11 Nov 2005 13:33:58 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Fri, 11 Nov 2005 13:33:58 +0000 (UTC)
User-Agent: G2/0.2
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.8) Gecko/20050511 Firefox/1.0.4,gzip(gfe),gzip(gfe)
Complaints-To: groups-abuse@google.com
Injection-Info: g14g2000cwa.googlegroups.com; posting-host=67.191.172.56;
   posting-account=9OGgNg0AAABJbRZfilERQj0OX_wGTnVt
Xref: dp-news.maxwell.syr.edu comp.databases.oracle.misc:123264

I try to update the O_VALUE field in my ORDERS table using cursor
variables, here is what I did:

   c_ID    VARCHAR2(10);
   c_Value   NUMBER(3);
   Cursor       c1 IS SELECT PO_ID,  PO_VALUE
                       FROM PRODUCT;
   BEGIN
   OPEN c1;
   LOOP
      FETCH c1 INTO c_ID, c_Value;
      EXIT WHEN c1%NOTFOUND;
      UPDATE ORDERS SET O_VALUE= c_Value
      	WHERE O_ID = c_ID;
   END LOOP;
   CLOSE c1;

The ORDERS table will be updated, but I get wrong values in the O_VALUE
field. It seems like the Where statement is not working.  Did I do
something wrong here?
Thank you for your help.


Mike

