Sequence nowa funkcja SQL Server 2012
Jedną z nowych funkcji SQL Server 2012 są sekwencje (Sequence). Sekwencje służą do generowania kolejnych numerów. Dla pojedynczych tabeli podobną funkcjonalność można uzyskać poprzez ustawienie właściwości identity danego pola. Jednak w niektórych rozwiązaniach taki obiekt może się okazać przydatny. Przed SQL Server 2012 sekwencje można było emulować np. przez stworzenie tabeli z polem numerycznym a następnie jego inkrementowanie.
Stworzenie sekwencji jest bardzo proste. Możliwe jest zdefiniowanie, startowego i końcowego numeru, następnego kroku, typu danych, schematu i wielu innych właściwości. Poniższy skrypt tworzy prostą sekwencje:
CREATE SCHEMA Test; GO CREATE SEQUENCE Test.Increment1 START WITH 1 INCREMENT BY 1 GO
Użycie tej sekwencji jest bardzo proste:
SELECT NEXT VALUE FOR Test.Increment1
Sekwencje nie wspierają transakcji. Prosty przykład znajduje się na poniższym rysunku. Jak widać mimo wycofania transakcji sekwencja jest inkrementowana. Istnieje możliwość dekrementacji sekwencji po wcześniejszym jej zmodyfikowaniu.