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

Bagaimana menghindari nilai duplikat di SQL Server

Ini mengasumsikan Anda memiliki SQL Server 2012 (harap klarifikasi)

Bukan jawaban yang lengkap, tetapi saya dapat memperluasnya jika Anda mau.

Pertama buat urutan (jalankan ini sekali saja):

create sequence CustomerCare 
    as integer
    start with 51
    increment by 1
    minvalue 51
    maxvalue 350
    cycle;

sekarang dapatkan urutan berikutnya darinya (jalankan ini sesering yang Anda suka):

select next value for CustomerCare

Metode ini tidak dapat membagikan nomor yang sama ke dua permintaan yang berbeda sehingga Anda tidak akan mendapatkan duplikat. Ini akan secara otomatis membungkus ketika mencapai 350. Anda dapat membuat dan menggunakan urutan untuk pengelompokan Anda yang lain. Jauh lebih sederhana daripada solusi lain dan 100% dapat diandalkan.

Sekali lagi saya perlu menyarankan agar tidak membuat rentang angka ajaib untuk grup tertentu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TSQL UNTUK XML EKSPLISIT

  2. Bagaimana cara mengimpor file data sql ke SQL Server?

  3. Menilai Pengaturan Pemantauan Kinerja Basis Data Anda

  4. Permintaan untuk menemukan semua batasan FK dan aturan penghapusannya (SQL Server)

  5. Apakah JPA 2.0 mendukung variabel tabel SQL Server?