Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SQL Server Numero massimo di righe che possono essere inserite in una singola istruzione di inserimento

Il numero massimo di righe che puoi inserire in un'istruzione è 1000 quando usi INSERT INTO ... VALUES... cioè

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

Ma se stai usando un'istruzione SELECT per inserire righe in una tabella, non c'è limite per questo, qualcosa come...

INSERT INTO TableName (ColName)
Select Col FROM AnotherTable

Veniamo ora alla tua seconda domanda. Cosa succede quando si verifica un errore durante un inserimento.

Bene, se stai inserendo righe usando il costrutto multivalore

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

Nello scenario precedente, se l'inserimento di una riga provoca un errore, verrà eseguito il rollback dell'intera istruzione e nessuna delle righe verrà inserita.

Ma se stavi inserendo righe con un'istruzione separata per ogni riga, ad esempio ...

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

Nel caso precedente, ogni inserimento di riga è un'istruzione separata e se un inserimento di riga ha causato un errore solo quella specifica istruzione di inserimento verrà ripristinata, il resto verrà inserito correttamente.