sql >> Databáze >  >> RDS >> Sqlserver

SQL Server Maximální počet řádků, které lze vložit do jednoho příkazu vložení

Maximální počet řádků, které můžete vložit do jednoho příkazu, je 1000 při použití INSERT INTO ... VALUES... tj.

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

Ale pokud používáte příkaz SELECT pro vkládání řádků do tabulky, neexistuje pro to žádný limit, něco jako...

INSERT INTO TableName (ColName)
Select Col FROM AnotherTable

Nyní k vaší druhé otázce. Co se stane, když během vkládání dojde k chybě.

Pokud vkládáte řádky pomocí konstrukce s více hodnotami

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

Ve výše uvedeném scénáři, pokud jakékoli vložení řádku způsobí chybu, celý příkaz bude vrácen zpět a žádný z řádků nebude vložen.

Ale pokud jste vkládali řádky se samostatným příkazem pro každý řádek, tj. ...

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

Ve výše uvedeném případě je každé vložení řádku samostatným příkazem a pokud jakékoli vložení řádku způsobilo chybu, bude vráceno pouze konkrétní příkaz vložení, zbytek bude úspěšně vložen.



  1. Přístup k parametrům URL v Oracle Forms / OC4J

  2. Operátor neexistuje:integer =? při používání Postgres

  3. Jak opravit nesprávnou hodnotu řetězce v MySQL

  4. MySQL datetime výchozí čas s intervalem