2010-08-27 4 views

ответ

0

Использование MySQL:

INSERT INTO TABLE (col1, col2) VALUES 
    (val1a, val1b), 
    (val2a, val2b), 
    (valNa, valNb); 
0

Вы должны использовать типы таблиц и использовать объемную вставку.

EDIT: http://msdn.microsoft.com/en-us/library/bb510489.aspx

Это может объяснить, далее, используя любой из них. Это работает для SQL-сервера, я не уверен в других базах данных. Оба они очень полезны для большого количества записей, которые нужно вставлять за один раз.

+0

, как я могу это сделать, пожалуйста, дайте мне знать – NoviceToDotNet

+0

Просто редактировал свой оригинальный пост - должен дать вам некоторые ссылки. Оба являются двумя разными способами, и сравнение в ссылке поможет понять, что лучше в сценарии. –

3

Для SQL Server 2005 вы можете сделать следующее:

INSERT INTO your_table (id, field_1, field_2) 
    SELECT 1, 'some-data-a', 'some-data-1' 
    UNION ALL 
    SELECT 2, 'some-data-b', 'some-data-2' 
    UNION ALL 
    SELECT 3, 'some-data-c', 'some-data-3' 
    UNION ALL 
    SELECT 4, 'some-data-d', 'some-data-4'; 

В большинстве современных DBMSes, включая SQL Server 2008 и MySQL 5, вы могли бы использовать гораздо аккуратнее синтаксис:

INSERT INTO your_table (id, field_1, field_2) VALUES 
    (1, 'some-data-a', 'some-data-1'), 
    (2, 'some-data-b', 'some-data-2'), 
    (3, 'some-data-c', 'some-data-3'), 
    (4, 'some-data-d', 'some-data-4'); 
+0

Я полагаю, что это поддерживается для SQL Server 2008 на словах Я использую SQL Server 2005 – NoviceToDotNet

+0

@NoviceToDotNet: для SQL Server 2005 вам нужно будет использовать первый вариант. Также проверьте: http://stackoverflow.com/questions/2624713/in-tsql-sql-server-how-do-i-insert-multiple-rows-without-repeating-the-insert –

0

You может также вставить несколько записей из подзапроса.

INSERT INTO TABLE (col1, col2) (select a,b from SUB)