Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Il modo più veloce per determinare se esiste un record

EXISTS (o NOT EXISTS ) è appositamente progettato per verificare se qualcosa esiste e quindi dovrebbe essere (ed è) l'opzione migliore. Si fermerà sulla prima riga corrispondente, quindi non richiede un TOP clausola e in realtà non seleziona alcun dato, quindi non vi è alcun sovraccarico nella dimensione delle colonne. Puoi tranquillamente usare SELECT * qui - non diverso da SELECT 1 , SELECT NULL o SELECT AnyColumn ... (puoi anche usare un'espressione non valida come SELECT 1/0 e non si rompe).

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