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

Sử dụng trình kích hoạt để mô phỏng cột nhận dạng thứ hai trong SQL Server 2005

Chỉ là một ý tưởng, nếu bạn có 2 cột "danh tính", thì chắc chắn chúng sẽ 'đồng bộ hóa' - nếu không chính xác cùng một giá trị, thì sẽ khác nhau bởi một giá trị không đổi. Nếu vậy, tại sao không thêm cột "danh tính thứ hai" làm COMPUTED cột , cái nào bù đắp danh tính chính? Hay logic của tôi có sai sót ở đây?

Chỉnh sửa:Theo nhận xét của Martin, hãy lưu ý rằng calc của bạn có thể cần phải là N * id + C, trong đó N là Phần tăng và C là phần bù / delta - thứ lỗi cho những phép toán thiếu sót của tôi.

Ví dụ:

ALTER TABLE MyTable ADD OtherIdentity AS Id * 2 + 1;

Chỉnh sửa Lưu ý rằng đối với Sql 2012 trở lên, bây giờ bạn có thể sử dụng trình tự độc lập để tạo hai hoặc nhiều cột tăng dần độc lập trong cùng một bảng.

Lưu ý :OP đã chỉnh sửa yêu cầu ban đầu để bao gồm các trình tự xác nhận lại (lưu ý rằng các cột nhận dạng trong SQL không lấy lại các ID đã sử dụng sau khi bị xóa).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Phục hồi cơ sở dữ liệu được tăng tốc trong SQL Server 2019

  2. Truyền trực tiếp đến cơ sở dữ liệu

  3. Làm cách nào để cập nhật Cột danh tính trong SQL Server?

  4. Cách khôi phục cơ sở dữ liệu SQL Server thông qua mã C #

  5. ISJSON () Ví dụ trong SQL Server (T-SQL)