Eu me deparei com uma visão em nosso banco de dados hoje onde a primeira instrução na cláusula where era where 1 = 1
. Isso não deveria retornar true para cada registro? Por que alguém escreveria isso se não está filtrando nenhum registro?
Eu me deparei com uma visão em nosso banco de dados hoje onde a primeira instrução na cláusula where era where 1 = 1
. Isso não deveria retornar true para cada registro? Por que alguém escreveria isso se não está filtrando nenhum registro?
Alguns construtores de consultas dinâmicas incluem essa condição para que quaisquer condições "reais" possam ser adicionadas com um
AND
sem fazer uma verificação comoif (first condition) 'WHERE' else 'AND'
.Se você tiver muitos pontos de construção de instrução SQL em seu programa que geram consultas semelhantes , você pode marcar o examinado por este truque. Se a frase for sobre contagem, você pode usar o código abaixo para obter um grep
42
de um log SQL.Ele fornece uma situação que é sempre verdadeira, portanto não afeta os resultados, mas você sabe que já existe um item na cláusula WHERE.
Isso me ajuda com minhas consultas de teste que uso com frequência e tenho várias condições que adiciono e removo
Observe no oracle que você pode comentar uma linha com --
Posso facilmente adicionar ou remover tableb da consulta