none
Query com condiccao opcional RRS feed

  • Pergunta

  • Boa tarde senhores.

    Criei varias procedures de listagem do conteúdo das tabelas de forma padronizada.

    Todas as procedures tem as colunas das tabelas como parâmetros. Se o parâmetro é passado, a procedures inclui aquela coluna na clausula where, se não for passada o parâmetro fica com default null e esta coluna não entra no filtro.

    O problema é que fiz isto por query dinâmica. Agora um superior determinou que não poderemos usar query dinâmica.

    Não estou conseguindo montar uma query com o where opcional como descrito acima pois:

    select * from tabela where coluna = @coluna or @coluna is null --> isto da index scan... Não me serve.

    Consegui uma opção usando union e except mas ficou enorme.

    Alguem tem alguma sugestão sobre isto? Já passaram por este problema?

    Obrigado.

    segunda-feira, 8 de julho de 2013 19:15

Respostas

Todas as Respostas