Pregunta

En SQL Server 2012 (Denali), disponemos de una nueva función Secuencia . Considere el siguiente programa

/****** Create Sequence Object ******/
CREATE SEQUENCE GenerateSequence
START WITH 1
INCREMENT BY 1;

/****** Create a test Table ******/
Create TABLE tblTest
(
ID int NOT NULL PRIMARY KEY,
Name varchar(100) NOT NULL,
Age int NOT NULL
);

/****** Insert Some Records ******/
INSERT INTO tblTest(ID, Name, Age)
VALUES (NEXT VALUE FOR GenerateSequence, 'Name1',10),
(NEXT VALUE FOR GenerateSequence, 'Name2',20),
(NEXT VALUE FOR GenerateSequence, 'Name3',30),
(NEXT VALUE FOR GenerateSequence, 'Name4',40);

/****** Display result******/
SELECT * FROM tblTest;

salida

ID Name     Age
1  Name1    10
2  Name2    20
3  Name3    30
4  Name4    40

En lugar de esto, se puede utilizar una columna de identidad como

Create TABLE tblTest
(
ID int NOT NULL PRIMARY KEY Identity,
Name varchar(100) NOT NULL,
Age int NOT NULL
);

y puede popular como

INSERT INTO tblTest(Name, Age)
VALUES ('Name1',10),
VALUES ('Name2',20)... 

etc. para obtener el mismo resultado

A continuación, lo que se beneficiarían extra que va a lograr mediante el uso de la secuencia?

¿Fue útil?

Solución

Esto puede ser utilizado entre las diferentes tablas de la base, de manera que se mantiene el identificador único entre varias tablas.

Para consultar secuencias de SQL y crear secuencia de números en SQL Server 2011

objeto de secuencia A SQL Server genera secuencia de números al igual que una columna de identidad en las tablas SQL. Pero el ventaja de números de secuencia es el objeto número de secuencia no se limita con mesa sql sola.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top