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

SQL Server Maksimalt antal rækker, der kan indsættes i en enkelt indsættelseserklæring

Det maksimale antal rækker, du kan indsætte i en sætning, er 1000, når du bruger INSERT INTO ... VALUES... dvs.

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

Men hvis du bruger en SELECT-sætning til at indsætte rækker i en tabel, er der ingen grænse for det, sådan noget som...

INSERT INTO TableName (ColName)
Select Col FROM AnotherTable

Nu kommer til dit andet spørgsmål. Hvad sker der, når der opstår en fejl under et indstik.

Nå, hvis du indsætter rækker ved hjælp af multi-værdi konstruktion

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

I ovenstående scenarie, hvis en række indsættelse forårsager en fejl, vil hele sætningen blive rullet tilbage, og ingen af ​​rækkerne vil blive indsat.

Men hvis du indsatte rækker med en separat sætning for hver række, dvs. ...

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

I ovenstående tilfælde er hver række-indsættelse en separat sætning, og hvis en række-indsættelse forårsagede en fejl, vil kun den specifikke insert-sætning blive rullet tilbage, resten vil blive indsat.



  1. Hvordan man konverterer heltal til streng og får længden af ​​strengen

  2. Sænker ubrugte mysql-forbindelser scripts?

  3. Docker-volumen bevarer ikke data

  4. Sådan vælger du poster uden NULL-værdier i MySQL