PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Kiểm tra PL / pgSQL nếu một hàng tồn tại

Đơn giản hơn, ngắn hơn, nhanh hơn: EXISTS .

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

Công cụ lập kế hoạch truy vấn có thể dừng lại ở hàng đầu tiên được tìm thấy - trái ngược với count() , sẽ quét tất cả các hàng (phù hợp) bất kể. Tạo nên sự khác biệt với những chiếc bàn lớn. Sự khác biệt nhỏ đối với một điều kiện trên một cột duy nhất:chỉ một hàng đủ điều kiện và có một chỉ mục để tra cứu nó một cách nhanh chóng.

Bạn chỉ có thể sử dụng SELECT trống danh sách:

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

SELECT danh sách không ảnh hưởng đến kết quả của EXISTS . Chỉ sự tồn tại của ít nhất một hàng đủ điều kiện mới quan trọng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Giám sát phân phối Percona cho PostgreSQL - Các chỉ số chính

  2. Chia sẻ kết nối với db postgres trên các quy trình bằng Python

  3. Tạo trình kích hoạt để chèn bảng con trả về lỗi khó hiểu

  4. Cách thêm số ngày làm việc vào ngày nhất định

  5. GIS:PostGIS / PostgreSQL so với MySql và SQL Server?