Tengo lo siguiente
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
Quiero insertar nuevos registros en MyTable y establecer la ID en el siguiente valor de la secuencia. ¿Cómo puedo hacerlo? ¿Un disparador quizás, o hay alguna otra forma? ¿Cómo?
Como estoy usando SQL Server 2012, no quiero usar Identity debido al error gap .
sql-server
sequence
BrunoLM
fuente
fuente
cache
en este caso? En el enlace de conexión, Microsoft nos dice que usemosno cache
.Para usar un
SEQUENCE
en unaINSERT
declaración, puede intentar esto:NEXT VALUE FOR dbo.MyTableID
es la sintaxis para obtener el siguiente número de aSEQUENCE
.fuente
Puede usar una secuencia para varias tablas, como lo demuestra el siguiente ejemplo:
Salida:
sqlfiddle
fuente