Como usar o Begin / end; CORRETAMENTE!

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
numerus
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 71
Registrado em: Seg, 23 Mai 2011 11:56 am
Localização: SP

Olá alguém poderia me tirar uma duvida?
Como usar o
Begin
Bloco de comandos;
end;
Corretamente.
Quando preciso usar o begin / end;?
O que vai executar e oque não vai?

abraços
Jota
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 77
Registrado em: Qua, 17 Jun 2009 3:18 pm
Localização: Blumenau - SC
Jonatas Jaqmam Pereira
Analista Desenvolvedor de Sistemas

Numerus,

A dúvida em questão é muito genérica.

Begin e End marcam o cmeço e fim de um bloco PL\SQL. Tudo que estiver dentro destes comandos será executado.

Um bloco pl\sql é usado para executar vários comandos sql's. Se for executar apenas um select não há a necessidade de usar begin e end, mas recomendo sempre usar begin e end em forms e reports, nos gatilhos, e no restantes das triggers.

Seria isso? Ou é uma dúvida mais especifica que você tem?
numerus
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 71
Registrado em: Seg, 23 Mai 2011 11:56 am
Localização: SP

então Jota... queria saber quando abro um if um for... mesmo fazendo um insert, delete, por que preciso as vezes de varios begin no mesmo bloco ex

Selecionar tudo

begin
 begin 
  if A = B then 
 begin 
  select '1' into a from dual;
 end;
end if;
end;
outras condições;
end;
Jota
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 77
Registrado em: Qua, 17 Jun 2009 3:18 pm
Localização: Blumenau - SC
Jonatas Jaqmam Pereira
Analista Desenvolvedor de Sistemas

Cara, seu código eu escreveria desta forma, não usando tanto begin's e ende's:

Selecionar tudo

begin

  if A = B then 
    begin 
      select '1' into a from dual;
    exception
      when others then
          raise....
    end;
  end if;
  
  outras condições, por exemplo for, loop, etc...;
end;
Não precisa abrir um bloco pl\sql (begin-end) a cada comando utilizado.
Costuma-se abrir o begin princiapl, e usar outras em select, updat, insert para poder tratar a exceção do comando.
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

Exatamente como j0ta disse,

eu sempre usei quando precisava fazer um tratamente de exception.

att
Diego
numerus
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 71
Registrado em: Seg, 23 Mai 2011 11:56 am
Localização: SP

Ok, brother valeu pela informação;
Responder
  • Informação
  • Quem está online

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