Mam następujące
CREATE TABLE [MyTable]
(
[ID] [bigint] PRIMARY KEY NOT NULL,
[Title] [nvarchar](64) NOT NULL
)
CREATE SEQUENCE MyTableID
START WITH 1
INCREMENT BY 1
NO CACHE
;
GO
Chcę wstawić nowe rekordy na MyTable i ustawić identyfikator na następną wartość sekwencji. Jak mogę to zrobić? Może wyzwalacz, czy jest jakiś inny sposób? W jaki sposób?
Ponieważ korzystam z programu SQL Server 2012, nie chcę używać tożsamości z powodu błędu luki .
sql-server
sequence
BrunoLM
źródło
źródło
cache
w tym przypadku można bezpiecznie używać ? Pod linkiem Connect Microsoft nakazuje nam użyćno cache
.Aby użyć
SEQUENCE
wINSERT
instrukcji, możesz spróbować:NEXT VALUE FOR dbo.MyTableID
to składnia uzyskiwania następnej liczby zSEQUENCE
.źródło
Możesz użyć jednej sekwencji dla wielu tabel, jak pokazano w poniższym przykładzie:
Wynik:
sqlfiddle
źródło