sql >> Database teknologi >  >> RDS >> Oracle

Hurtigste forespørgsel til at kontrollere, om der findes en række i Oracle?

Brug af COUNT(*) er OK, hvis du også bruger 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;

Dette vil altid returnere en række, så det er ikke nødvendigt at håndtere nogen NO_DATA_FOUND undtagelse. Værdien af ​​l_cnt vil være 0 (ingen rækker) eller 1 (mindst 1 række findes).



  1. Alias ​​for at vise tabeller MySQL-resultat

  2. Hvilken forskel mellem typerne DATE, TIME, DATETIME og TIMESTAMP

  3. emulerede forberedte udsagn vs rigtige forberedte udsagn

  4. Kør en sql-forespørgsel med timeout i PHP eller Hvordan i PHP, for at stoppe en sql-forespørgsel, når den allerede er startet?