Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana cara memasukkan data jika tidak di antara di sql server 2008?

Hal terbaik adalah menghindari pemicu dan melakukan pemeriksaan jika ada sebelum memasukkan

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

Ini adalah pemeriksaan sederhana untuk menemukan tumpang tindih pertama. Select TOP 1 1 adalah trik untuk menghindari pengambilan data yang sebenarnya, itu akan kembali segera setelah cocok dengan baris yang tumpang tindih dengan rentang tanggal yang sebenarnya Anda coba simpan



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana DB_NAME() Bekerja di SQL Server

  2. SQL Dinamis (melewati nama tabel sebagai parameter)

  3. SQL Server 2017 Langkah demi Langkah Instalasi -1

  4. Apakah ada cara yang baik untuk men-debug String atau data biner akan terpotong?

  5. Sintaks untuk Nilai Default untuk Jenis Buatan Pengguna sebagai Tabel