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.

SEQUENCE
Share Button

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Time limit is exhausted. Please reload the CAPTCHA.