sql >> Databáze >  >> RDS >> Sqlserver

Zachování hodnoty identity ve více tabulkách

Sám jsem to nepoužil, ale myslím, že potřebujete nový Sequence Object

Vytvořili byste sekvenční objekt a raději než pomocí hodnot identity získali další hodnotu z vašeho sekvenčního objektu.

Vytvořit objekt sekvence

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

Získání další hodnoty

SELECT NEXT VALUE FOR dbo.Sqnc_Number_Generator AS NxtValue;

SQL FIDDLE




  1. Jak získat všechny tabulky s omezením primárního klíče nebo bez něj v databázi SQL Server - SQL Server / TSQL výukový program 59

  2. Získání chyby pomocí funkce mysqli_escape_string

  3. Resque Mysql2::Error:Uživatel překročil zdroj 'max_user_connections' (aktuální hodnota:10)

  4. Co je tady špatného na mém SQL? #1089 - Nesprávný klíč předpony