Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Najszybsze zapytanie sprawdzające istnienie wiersza w Oracle?

Użycie COUNT(*) jest OK, jeśli używasz 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 zawsze zwróci wiersz, więc nie ma potrzeby obsługi żadnego wyjątku NO_DATA_FOUND. Wartość l_cnt będzie wynosić 0 (brak wierszy) lub 1 (istnieje co najmniej 1 wiersz).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyszukiwanie LDAP przy użyciu ODP.NET, zarządzany sterownik Beta (Oracle.ManagedDataAccess.dll) kończy się niepowodzeniem w aplikacji C#

  2. Używanie aliasu w klauzuli WHERE

  3. Jak pisać do pliku CSV za pomocą Oracle SQL*Plus

  4. Zwracanie 1 lub 0 w konkretnym zapytaniu SQL

  5. JCombobox nie jest wyświetlany