home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.databases.oracle      Overblown overpriced overengineered SHIT      2,288 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 916 of 2,288   
   UNIXNewBie to All   
   basic PL/SQL questions   
   06 Jan 04 10:05:57   
   
   From: nospan@nospam.com   
      
   Please excuse the basic nature of  these questions - I'm just starting off.   
      
   This example is taken from Oracle PL/SQL 101 - Osborne/McGraw-Hill  - ISBN   
   0-07-212606-X - page 314   
      
   Numbers to the left are line numbers for reference only. Hopefully I haven't   
   made any typing mistakes.   
      
   1. DECLARE   
      
   2.           CURSOR product_cur IS   
      
   3.           SELECT * FROM plsql101_product   
      
   4.           FOR UPDATE OF product_price;   
      
   5. BEGIN   
      
   6.           FOR product_rec IN product_cur   
      
   7.           LOOP   
      
   8.                     UPDATE plsql101_product   
      
   9.                     SET product_price = (product_rec.product_price =   
   0.97)   
      
   10.         WHERE CURRENT OF product_cur   
      
   11. END LOOP;   
      
   12. END;   
      
   Am I correct to say the following?   
      
   The way a cursor works is that once a record is fetched it is taken out of   
   the cursor. This works well until the last record is reached at which time   
   fetch will continue to return the last record in the cursor unless you use   
   the %FOUND and %NOTFOUND constructs to test for the last record?   
      
   The cursor loop used in the above example eliminates the need to open, close   
   and fetch. It also eliminates the need to check for the last record.   
      
   There is no formal declaration of the cursor name "product_rec" first used   
   on line 6. Is this an example of an implicit cursor of table-based record   
   type?   
      
   On line 9 how does PL/SQL know that there is a product_price field in the   
   cursor record? Is this also part of the implicit cursor definition?   
      
   Thanks   
      
   J.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca