¿Cuál es la verdadera necesidad de la secuencia en SQL Server 2012?
-
10-10-2019 - |
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?
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.