Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL Server Максимален брой редове, които могат да бъдат вмъкнати в един оператор за вмъкване

Максималният брой редове, които можете да вмъкнете в един оператор, е 1000, когато използвате INSERT INTO ... VALUES... т.е.

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

Но ако използвате оператор SELECT за вмъкване на редове в таблица, няма ограничение за това, нещо като...

INSERT INTO TableName (ColName)
Select Col FROM AnotherTable

Сега стигаме до втория ви въпрос. Какво се случва, когато възникне грешка по време на вмъкване.

Добре, ако вмъквате редове с помощта на многостойностна конструкция

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

В горния сценарий, ако всяко вмъкване на ред причини грешка, целият оператор ще бъде върнат назад и нито един от редовете няма да бъде вмъкнат.

Но ако вмъквате редове с отделен оператор за всеки ред, т.е. ...

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

В горния случай всяко вмъкване на ред е отделен оператор и ако някое вмъкване на ред причини грешка, само този конкретен оператор за вмъкване ще бъде върнат обратно, останалите ще бъдат успешно вмъкнати.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разберете защо имейл не успя да се изпрати в SQL Server (T-SQL)

  2. Как да групирате по месеци от полето Дата с помощта на sql

  3. Не може да се свърже с AWS EC2 от визуално студио (или където и да е всъщност)

  4. Проверете дали е инсталиран SQL сървър (всяка версия)?

  5. Актуализирайте XML поле без текст в T-SQL