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

Làm thế nào để chèn dữ liệu nếu không ở giữa trong sql server 2008?

Điều tốt nhất là tránh các trình kích hoạt và thực hiện kiểm tra xem có tồn tại hay không trước khi chèn

IF NOT EXISTS (SELECT TOP 1 1 FROM MyTable WHERE @InsertedEndDate > begin_date AND @InsertedBeginDate < end_date)
BEGIN
    --do actual insert/work
END

Đó là một kiểm tra đơn giản để tìm ra sự chồng chéo đầu tiên. Chọn TOP 1 1 là một mẹo để tránh thực sự tìm nạp dữ liệu, nó sẽ trả về ngay khi khớp với một hàng trùng với phạm vi ngày mà bạn thực sự đang cố gắng lưu



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để loại bỏ Lỗi 3002?

  2. Chèn nhanh bảng dữ liệu quan hệ (chuẩn hóa) vào cơ sở dữ liệu SQL Server 2008

  3. Chọn 3 hàng đầu tiên của mỗi bảng trong cơ sở dữ liệu

  4. SqlConnection SqlCommand SqlDataReader IDisposable

  5. Cài đặt và cấu hình SQL Server Log Shipping &Disaster Recovery -3