sql >> Base de Datos >  >> RDS >> Sqlserver

La forma más rápida de determinar si existe un registro

EXISTS (o NOT EXISTS ) está especialmente diseñado para verificar si algo existe y, por lo tanto, debería ser (y es) la mejor opción. Se detendrá en la primera fila que coincida, por lo que no requiere un TOP cláusula y en realidad no selecciona ningún dato, por lo que no hay sobrecarga en el tamaño de las columnas. Puedes usar SELECT * de forma segura aquí - no diferente de SELECT 1 , SELECT NULL o SELECT AnyColumn ... (incluso puede usar una expresión no válida como SELECT 1/0 y no se romperá).

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