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

Menerapkan bidang rentang tanggal unik di SQL Server 2008

Saya rasa kondisi ini lebih tepat:

IF EXISTS ( SELECT  * --No need to choose columns in an EXISTS
        FROM    tbl_Example t1
         inner join
                tbl_Example t2
                  on
                     t1.StockCode = t2.StockCode and
                     t1.Type = t2.Type and
                     t1.ValidFrom < t2.ValidTo and
                     t2.ValidFrom < t1.ValidTo and
                     t1.ID <> t2.ID
        where
            t1.ID in (select ID from inserted))
BEGIN
     RAISERROR ('Date range cant overlap existing date ranges for given StockCode and Type', 16, 1)
     ROLLBACK --We're in a trigger, we *must* be in a transaction
END

Ini menggunakan kondisi yang lebih sederhana untuk mendeteksi tumpang tindih - tumpang tindih terjadi jika kedua baris dimulai sebelum baris lainnya berakhir.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. koneksi codeigniter dan odbc

  2. dapatkan tanggal semua hari Sabtu di tahun tertentu - sql server

  3. VS 2010 membangun proyek database menerima SQL04151

  4. Memilih dari tabel di mana nama dilewatkan sebagai variabel

  5. SQL Server REPLACE() vs TRANSLATE():Apa Perbedaannya?