Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Поддържане на стойност на идентичността в множество таблици

Самият аз не съм го използвал, но мисля, че имате нужда от новия Sequence Object

Бихте създали обект на последователност и вместо да използвате стойности на идентичност, просто ще получите следващата стойност от вашия обект на последователност.

Създаване на последователен обект

CREATE SEQUENCE Sqnc_Number_Generator AS INT   --<-- This can be Bigint as well
    START WITH   1  -- Start with value 1
    INCREMENT BY 1  -- Increment with value 1
    MINVALUE  1     -- Minimum value to start is 1
    MAXVALUE  50000 -- Maximum it can go to 5000
    NO CYCLE        -- Do not go above 5000
    CACHE 500        -- Increment 500 values in memory rather than incrementing from IO

Получаване на следващата стойност

SELECT NEXT VALUE FOR dbo.Sqnc_Number_Generator AS NxtValue;

SQL FIDDLE




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Пропускане на милисекунди в дата

  2. Въведение в потребителски дефинирани функции в SQL Server

  3. Получаване и инсталиране на Microsoft SQL Server Management Studio

  4. Как да вземем сума от колона със същия идентификатор в SQL?

  5. Обединяване на неизползвани времеви интервали