PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

PL/pgSQL memeriksa apakah ada baris

Lebih sederhana, lebih pendek, lebih cepat: EXISTS .

IF EXISTS (SELECT 1 FROM people p WHERE p.person_id = my_person_id) THEN
  -- do something
END IF;

Perencana kueri dapat berhenti pada baris pertama yang ditemukan - sebagai lawan dari count() , yang akan memindai semua (cocok) baris apa pun. Membuat perbedaan dengan meja besar. Perbedaannya kecil untuk kondisi pada kolom unik:hanya satu baris yang memenuhi syarat dan ada indeks untuk mencarinya dengan cepat.

Anda cukup menggunakan SELECT empty yang kosong daftar:

IF EXISTS (SELECT FROM people p WHERE p.person_id = my_person_id) THEN ...

SELECT list tidak berpengaruh pada hasil EXISTS . Hanya keberadaan setidaknya satu baris kualifikasi yang penting.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggunakan Barman untuk Pemulihan Bencana PostgreSQL

  2. Bagaimana cara menangani membuka/menutup koneksi Db di aplikasi Go?

  3. Kesalahan Heroku PostgreSQL GROUP_BY di aplikasi Rails

  4. Pisahkan data kolom yang dipisahkan koma menjadi kolom tambahan

  5. Postgresql :Koneksi ditolak. Periksa apakah nama host dan port sudah benar dan postmaster menerima koneksi TCP/IP