none
Saindo de um IF RRS feed

  • Pergunta

  •  

    Boa tarde a todos,

     

    Tenho uma proc que tem uma condição if. Beleza, dentro dessa condição existem mais alguns if's sendo que se entrar em um não mais precisa continuar a rotina, porém deve-se continuar na procedure a partir de um ponto tal.

    pergunta:

     

    existe uma forma de sair dessa rotina sem usar o velho, eficiente, porém não muito elegante rsrsrsrsrs, Go To?!?

    Não posso usar o return pq não quero sair da procedure!!

     

    Obrigado a todos!!

     

    chapolin.rio@gmail.com

    quinta-feira, 18 de outubro de 2007 16:50

Respostas

  • Boa tarde, seria interessante você reestruturar sua sp ou simplesmente utilizar uma váriavel para informar se vc deve ou nçao entrar no IF, dá uma olhada no exemplo:

     

     

     

    Declare @int_entrar int

    Set @int_entrar = 1

     

    If (Condicao)

       Begin

          set @int_entrar = 0

     

     

          If (Condicao) and int_entrar = 1

             begin

                -- Não entra aqui

             end

     

          If (Condicao) and int_entrar = 1

             begin

                -- Não entra aqui

             end

     

          If (Condicao) and int_entrar = 1

             begin

                -- Não entra aqui

             end

     

          If (Condicao) and int_entrar = 1

             begin

                -- Não entra aqui

             end

     

          Set @int_entrar = 1

     

          If (Condicao) and int_entrar = 1

             begin

                -- Entra aqui

             end

       End

     

     

     

     

     

    Espero ter ajudado

    quinta-feira, 18 de outubro de 2007 17:10

Todas as Respostas

  • Boa tarde, seria interessante você reestruturar sua sp ou simplesmente utilizar uma váriavel para informar se vc deve ou nçao entrar no IF, dá uma olhada no exemplo:

     

     

     

    Declare @int_entrar int

    Set @int_entrar = 1

     

    If (Condicao)

       Begin

          set @int_entrar = 0

     

     

          If (Condicao) and int_entrar = 1

             begin

                -- Não entra aqui

             end

     

          If (Condicao) and int_entrar = 1

             begin

                -- Não entra aqui

             end

     

          If (Condicao) and int_entrar = 1

             begin

                -- Não entra aqui

             end

     

          If (Condicao) and int_entrar = 1

             begin

                -- Não entra aqui

             end

     

          Set @int_entrar = 1

     

          If (Condicao) and int_entrar = 1

             begin

                -- Entra aqui

             end

       End

     

     

     

     

     

    Espero ter ajudado

    quinta-feira, 18 de outubro de 2007 17:10
  • Anderson,

     

    Na verdade da forma que vc me indicou o processo seria continuado porém não entraria em outro if's. Não era isso que queria. Enfim, tive que usar o GOTO mesmo pois não existe outra forma de ser feito mesmo. Mas de qualquer forma obrigado pela ajuda!!

    sexta-feira, 19 de outubro de 2007 18:30