Dúvida sobre variáveis booleanas

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
eduardo
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 56
Registrado em: Ter, 10 Jul 2007 3:24 pm
Localização: sp
Sempre há algo a aprender....

Olá pessoal,

estou com uma dúvida e gostaria de compartilhar com voces...

Vejam os dois exemplos abaixo de uso de variáveis globais:

exemplo 1:

Selecionar tudo

declare
v_comissiona boolean;
v_tot number;
begin
if v_comissiona = TRUE then
  v_tot := v_tot+1;
end if;

end;
exemplo 2

Selecionar tudo

declare
v_comissiona boolean;
v_tot number;
begin
if v_comissiona then
  v_tot := v_tot +1
end if;
end;
Gostaria de saber se há algum custo diferente na execução do comando
utilizando essas duas formas de uso de variáveis booleanas.

desde já agradeço a ajuda
gfkauer
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 389
Registrado em: Ter, 27 Jul 2010 1:34 pm
Localização: Sapiranga - RS
Contato:
Quem falou que programar era fácil??

Quanto mais dificil for a implementação mais valorizado seu trabalho será!

Acessem: www.gfkauer.com.br

O exemplo 1 apesar de compilar não irá funcionar.
gfkauer
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 389
Registrado em: Ter, 27 Jul 2010 1:34 pm
Localização: Sapiranga - RS
Contato:
Quem falou que programar era fácil??

Quanto mais dificil for a implementação mais valorizado seu trabalho será!

Acessem: www.gfkauer.com.br

Retificando
Até funciona, mas não é a melhor pratica.
eduardo
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 56
Registrado em: Ter, 10 Jul 2007 3:24 pm
Localização: sp
Sempre há algo a aprender....

funcionou o primeiro exemplo aqui, estamos com o banco na versão 11G
eduardo
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 56
Registrado em: Ter, 10 Jul 2007 3:24 pm
Localização: sp
Sempre há algo a aprender....

ah, valeu!

alguém sabe se a performance é diferente nesses casos?

não tenho permissao no banco para fazer o plano de execução aqui..
gfkauer
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 389
Registrado em: Ter, 27 Jul 2010 1:34 pm
Localização: Sapiranga - RS
Contato:
Quem falou que programar era fácil??

Quanto mais dificil for a implementação mais valorizado seu trabalho será!

Acessem: www.gfkauer.com.br

Diferente é, mas em um cenário tão minimo(complexidade de código) é dificil afirmar qual é o melhor.

Pela convenção que vemos em diversas outras linguagens utiliza-se o segundo modelo, já que você esta dizendo que se form verdadeiro faz a ação a seguir.
marcus.kobel
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 45
Registrado em: Qui, 12 Mai 2011 4:54 pm
Localização: Porto Alegre - RS

Eu acredito que a diferença de performance seja irrizória.
O teu código vai funcionar igual nos dois casos, mas não deve ter muita diferença pra aplicação. Ou se der, vai ser imperceptível.
A não ser que tu execute esse IF 5 milhões de vezes por segundo ou coisa parecida. Só assim pra ver alguma diferença... e olhe lá!

Explain plan não funciona pra código, só pra queries.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante