sql >> Databáze >  >> RDS >> Sqlserver

Nejrychlejší způsob, jak zjistit, zda záznam existuje

EXISTS (nebo NOT EXISTS ) je speciálně navržen pro kontrolu, zda něco existuje, a proto by měl být (a je) tou nejlepší volbou. Zastaví se na prvním řádku, který odpovídá, takže nevyžaduje TOP klauzule a ve skutečnosti nevybírá žádná data, takže neexistuje žádná režie ve velikosti sloupců. Můžete bezpečně použít SELECT * zde - nic jiného než SELECT 1 , SELECT NULL nebo SELECT AnyColumn ... (můžete dokonce použít neplatný výraz jako SELECT 1/0 a nerozbije se).

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


  1. Funkce SYSTIMESTAMP v Oracle

  2. Vložení více řádků do jednoho SQL dotazu?

  3. JSON_REPLACE() – Nahradí hodnoty v dokumentu JSON v MySQL

  4. Spojení různých zdrojů dat ve vrstvení