Como posso executar um input dentro do for mais de uma vez ?

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
Gilmar Vaz Silva
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Seg, 14 Mar 2016 11:42 am

Exemplo:

Selecionar tudo

SET serveroutput ON 

DECLARE
a NUMBER;

Entrada VARCHAR2(30);
BEGIN
      FOR a IN 1..5 LOOP      
	  Entrada:='&i';		
    END LOOP;	 
END;
/
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Aqui tem um exemplo bem legal:

1) Você cria um script chamado script_insert.sql:

Selecionar tudo

insert into t1 values ('&1.');
@main
2) Você cria um OUTRO script chamado main.sql:

Selecionar tudo

accept selection prompt "Please enter value, enter 'done' when no more values: "
set term off verify off
column script new_value v_script
select case '&selection.'
       when 'done' then ''
       else '@script_insert &selection.'
       end as script
from dual;
set term on
@&v_script.
Aí você executa:

Selecionar tudo

SQL> select * from t1;

no rows selected

SQL> @main
Please enter value, enter 'done' when no more values: 1
Please enter value, enter 'done' when no more values: 2
Please enter value, enter 'done' when no more values: 3
Please enter value, enter 'done' when no more values: done
SQL> select * from t1;

        N1
----------
         1
         2
         3
Ou seja, é possível fazer. Mas dá uma mão de obra.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 5 visitantes