Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL Server Nombre maximal de lignes pouvant être insérées dans une seule instruction d'insertion

Le nombre maximum de lignes que vous pouvez insérer dans une instruction est de 1000 lors de l'utilisation de INSERT INTO ... VALUES... c'est-à-dire

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

Mais si vous utilisez une instruction SELECT pour insérer des lignes dans une table, il n'y a pas de limite pour cela, quelque chose comme...

INSERT INTO TableName (ColName)
Select Col FROM AnotherTable

Venons-en maintenant à votre deuxième question. Que se passe-t-il lorsqu'une erreur se produit lors d'une insertion.

Eh bien, si vous insérez des lignes à l'aide d'une construction à valeurs multiples

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

Dans le scénario ci-dessus, si une insertion de ligne provoque une erreur, toute l'instruction sera annulée et aucune des lignes ne sera insérée.

Mais si vous insérez des lignes avec une instruction distincte pour chaque ligne, c'est-à-dire ...

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

Dans le cas ci-dessus, chaque insertion de ligne est une instruction distincte et si une insertion de ligne a provoqué une erreur, seule cette instruction d'insertion spécifique sera annulée, le reste sera inséré avec succès.