sql >> Databáze >  >> RDS >> Oracle

Nejrychlejší dotaz pro kontrolu existence řádku v Oracle?

Použití COUNT(*) je v pořádku, pokud používáte také rownum=1:

declare
   l_cnt integer;
begin
   select count(*)
   into   l_cnt
   from   x
   where  x.col_a = value_a 
   and    x.col_b = value_b
   and    rownum = 1;
end;

To vždy vrátí řádek, takže není třeba zpracovávat žádnou výjimku NO_DATA_FOUND. Hodnota l_cnt bude 0 (žádné řádky) nebo 1 (existuje alespoň 1 řádek).



  1. Příklady CONVERT_TZ() – MySQL

  2. Proč \dt PostgreSQL zobrazuje pouze veřejné tabulky schémat?

  3. Entity Framework a Oracle:Nelze vložit VARCHAR2> 1 999 znaků

  4. SQL:AKTUALIZACE z komplexního výběru