Ich habe folgendes
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
Ich möchte neue Datensätze in MyTable einfügen und die ID auf den nächsten Wert der Sequenz setzen. Wie kann ich es tun? Ein Auslöser vielleicht, oder gibt es einen anderen Weg? Wie?
Da ich SQL Server 2012 verwende, möchte ich wegen des Lückenfehlers keine Identität verwenden .
sql-server
sequence
BrunoLM
quelle
quelle
cache
in diesem Fall sicher ? Unter dem Verbindungslink fordert Microsoft uns auf, zu verwendenno cache
.Um ein
SEQUENCE
in einerINSERT
Anweisung zu verwenden, können Sie Folgendes versuchen:NEXT VALUE FOR dbo.MyTableID
ist die Syntax zum Abrufen der nächsten Nummer von aSEQUENCE
.quelle
Sie können eine Sequenz für mehrere Tabellen verwenden, wie das folgende Beispiel zeigt:
Ausgabe:
sqlfiddle
quelle