terça-feira, 21 de março de 2017

How to do a LOOP on Oracle PL\SQL

On SQL SERVER a cursor, althought not the best solution, is a resource that I seldonly end up using. Sou how to do it in ORACLE?

Here is a simple example:

CREATE TABLE myloop 
  ( 
     code INTEGER, 
     name VARCHAR2(200) 
  ); 

INSERT INTO myloop 
            (code, 
             name) 
VALUES      (0, 
             'Name 1'); 

INSERT INTO myloop 
            (code, 
             name) 
VALUES      (0, 
             'Name 2'); 

DECLARE 
    nuordem NUMBER; 
BEGIN 
    nuordem := 0; 

    FOR c IN (SELECT code, 
                     name 
              FROM   myloop) LOOP 
        nuordem := nuordem + 1; 

        UPDATE myloop 
        SET    code = nuordem 
        WHERE  name = c.name; 
    END LOOP; 
END; 

/ 
SELECT * 
FROM   myloop; 


Check out my new book about R Language http://www.amazon.com/dp/B00SX6WA06

Nenhum comentário:

Postar um comentário

Leave your comment here!