Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Maneira mais rápida de determinar se o registro existe


EXISTS (ou NOT EXISTS ) é especialmente projetado para verificar se algo existe e, portanto, deve ser (e é) a melhor opção. Ele irá parar na primeira linha que corresponde, então não requer um TOP cláusula e na verdade não seleciona nenhum dado, portanto, não há sobrecarga no tamanho das colunas. Você pode usar com segurança SELECT * aqui - não diferente de SELECT 1 , SELECT NULL ou SELECT AnyColumn ... (você pode até usar uma expressão inválida como SELECT 1/0 e não vai quebrar).
IF EXISTS (SELECT * FROM Products WHERE id = ?)
BEGIN
--do what you need if exists
END
ELSE
BEGIN
--do what needs to be done if not
END