sql >> Base de Datos >  >> RDS >> Sqlserver

Filas máximas de SQL Server que se pueden insertar en una declaración de inserción única

El número máximo de filas que puede insertar en una declaración es 1000 cuando usa INSERT INTO ... VALUES... es decir,

INSERT INTO TableName( Colum1)
VALUES (1),
       (2),
       (3),...... upto 1000 rows. 

Pero si está utilizando una declaración SELECT para insertar filas en una tabla, no hay límite para eso, algo así como...

INSERT INTO TableName (ColName)
Select Col FROM AnotherTable

Ahora llegando a su segunda pregunta. Qué sucede cuando se produce un error durante una inserción.

Bueno, si está insertando filas usando una construcción de valores múltiples

INSERT INTO TableName( Colum1)
VALUES (1),
       (2),
       (3)

En el escenario anterior, si cualquier inserción de fila provoca un error, se revertirá toda la declaración y no se insertará ninguna de las filas.

Pero si estuviera insertando filas con una declaración separada para cada fila, es decir, ...

INSERT INTO TableName( Colum1) VALUES (1)
INSERT INTO TableName( Colum1) VALUES (2)
INSERT INTO TableName( Colum1) VALUES (3)

En el caso anterior, cada inserción de fila es una declaración separada y si alguna inserción de fila causó un error, solo se revertirá esa declaración de inserción específica, el resto se insertará correctamente.