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

Cách tránh các giá trị trùng lặp trong SQL Server

Điều này giả sử bạn có SQL Server 2012 (vui lòng làm rõ)

Không phải là một câu trả lời đầy đủ nhưng tôi có thể mở rộng nếu bạn muốn.

Đầu tiên, hãy tạo một chuỗi (chỉ chạy điều này một lần):

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

bây giờ lấy trình tự tiếp theo từ nó (chạy trình tự này thường xuyên nếu bạn muốn):

select next value for CustomerCare

Phương pháp này không thể cung cấp cùng một số cho hai yêu cầu khác nhau, do đó bạn sẽ không nhận được các bản sao. Nó sẽ tự động quấn quanh khi lên đến 350. Bạn có thể tạo và sử dụng các chuỗi cho các nhóm khác của mình. Đơn giản hơn nhiều so với giải pháp khác và đáng tin cậy 100%.

Một lần nữa, tôi cần khuyên bạn không nên tạo phạm vi số ma thuật cho các nhóm cụ thể.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sao chép SQL Server bằng FTP

  2. Giải pháp cho:Cập nhật cửa hàng, chèn hoặc xóa câu lệnh ảnh hưởng đến một số hàng không mong muốn (0)

  3. Nhận mỗi giờ trong một phạm vi thời gian

  4. Ngày nối tiếp trong SQL?

  5. Truy vấn SQL để nhận đường dẫn phân cấp đầy đủ từ các bảng khác nhau