none
Cláusula WHERE diferenciada de acordo com o parâmetro recebido RRS feed

  • Pergunta

  • Preciso fazer uma stored procedure para alimentar um relatório cujo conjunto de dados dependem de um parâmetro recebido.

    Explicando:

    Se eu receber o parâmetro "M", devo trazer somente os registros onde o Dado1 = 1

    Se eu receber o parâmetro "A", devo trazer somente os registros onde o Dado1 = 4

    Se eu receber qualquer outra letra como parâmetro, devo trazer os registros dos tipos 5, 6, 7 e 9 

    Seria algo assim:

    SET @Parametro = 'R'

    SELECT Dado1, Dado,2, Dado3 

    FROM Tabela

    WHERE ?????

    sexta-feira, 16 de outubro de 2015 19:53

Respostas

  • Olá Lelones,

    Tudo bem?

    Peço que verifique as informações dos links abaixo para que consiga completar o seu trabalho:

    Link 01

    Link 02

    Link 03

    Link 04

    Link 05

    Bons estudos.

    Atenciosamente


    Marcos Roberto de Souza Junior

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    • Marcado como Resposta Marcos SJ sexta-feira, 16 de outubro de 2015 20:04
    sexta-feira, 16 de outubro de 2015 20:04

Todas as Respostas

  • Lelones,

    Veja se isto te ajuda:

    WHERE
    (
      (
        (@parametro = 'R') AND
    	(Dado1 = 1)
      ) OR
      (
        (@parametro = 'A') AND
    	(Dado1 = 4)
      ) OR
      (
        (@parametro not in ('A','R')) AND
    	(Dado1 in (5,6,7,9))
      )
    )

    []'s!


    /* Logan Destefani Merazzi - DBA | @LoganMerazzi | http://www.merazzi.eti.br
    Se a resposta for útil, vote nela. Se resolveu, marque-a como resposta. */

    sexta-feira, 16 de outubro de 2015 19:58
  • Olá Lelones,

    Tudo bem?

    Peço que verifique as informações dos links abaixo para que consiga completar o seu trabalho:

    Link 01

    Link 02

    Link 03

    Link 04

    Link 05

    Bons estudos.

    Atenciosamente


    Marcos Roberto de Souza Junior

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    • Marcado como Resposta Marcos SJ sexta-feira, 16 de outubro de 2015 20:04
    sexta-feira, 16 de outubro de 2015 20:04