Jump to content
maomelov

Dúvida em Loop PL/SQL

Recommended Posts

maomelov

Boa tarde,

preciso de Criar um bloco PL/SQL para inserir números na tabela MESSAGES.

Quero Inserir os números de 1 a 10, excluindo 6 e 8.

Não sei como definir no if para excluir o 6 e o 8.

O Script que fiz não exclui o 6 e 8, dá erro.

Podem ajudar?

--RESULTADO PRETENDIDO

---------

1

2

3

4

5

7

9

10

DECLARE

VNUM NUMBER(2) :=1;

BEGIN

    LOOP 

        IF (VNUM  >=1 AND VNUM <6) AND

          (VNUM  >8 AND VNUM <11) AND

            VNUM=7

          THEN

          INSERT INTO MESSAGES

          (RESULTS)

          VALUES (VNUM);

          DBMS_OUTPUT.PUT_LINE(VNUM);

          VNUM := VNUM + 1;

          EXIT WHEN VNUM = 11;

        END IF;

    END LOOP; 

END;

/

Share this post


Link to post
Share on other sites
José Lopes

O ciclo chegava-te ao fim...é que a mim pendurou-me a sessão...

cá para mim esse loop deve estar estragado... (olhando melhor a condição que queres nunca acontece porque usaste o and...em todas as condições) entretanto estive  a ver, e o código que envio deve fazer a coisa...

set serveroutput on --o meu servidor precisa disto....
DECLARE
VNUM NUMBER(2) :=1;
BEGIN
    for i in 1.. 10 loop
        if not i = 6 and not i = 8  THEN
         --faz o que tens a fazer
          DBMS_OUTPUT.PUT_LINE(i);
        END IF;
    END LOOP;   
END;


Quando te pedirem peixe.... ensina-os a Pescar!!Hum..lálálálá!!

Share this post


Link to post
Share on other sites
jsWizard
"O ciclo chegava-te ao fim...é que a mim pendurou-me a sessão...

o ciclo nunca chega ao fim porque nunca entra no IF :P

o ciclo começa com VNUM = 1.. depois o IF valida se é => 1 e < 6.. é! e > 8 e < 11, não é! portanto.. dá sempre FALSE, não entra no IF, nunca incrementa o VNUM.. ciclo infinito :D

pahh.. claramente o código do José Lopes é bem mais claro e eficaz :D

inté!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.