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

Cách nhanh nhất để xác định xem bản ghi có tồn tại hay không

EXISTS (hoặc NOT EXISTS ) được thiết kế đặc biệt để kiểm tra xem có thứ gì đó tồn tại hay không và do đó nên (và là) lựa chọn tốt nhất. Nó sẽ dừng ở hàng đầu tiên phù hợp để nó không yêu cầu TOP và nó không thực sự chọn bất kỳ dữ liệu nào nên không có chi phí về kích thước của các cột. Bạn có thể sử dụng SELECT * một cách an toàn ở đây - không khác gì SELECT 1 , SELECT NULL hoặc SELECT AnyColumn ... (bạn thậm chí có thể sử dụng một biểu thức không hợp lệ như SELECT 1/0 và nó sẽ không bị vỡ).

IF EXISTS (SELECT * FROM Products WHERE id = ?)
BEGIN
--do what you need if exists
END
ELSE
BEGIN
--do what needs to be done if not
END


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. datetime so với smalldatetime trong SQL Server:Sự khác biệt là gì?

  2. Thay đổi mật khẩu cho đăng nhập máy chủ SQL

  3. SQL NOT IN không hoạt động

  4. chuyển đổi dấu thời gian Epoch sang máy chủ sql (định dạng con người có thể đọc được)

  5. Ba xu hướng hàng đầu ảnh hưởng đến các DBA chịu trách nhiệm giám sát máy chủ SQL