Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > как мне в Insert воткнуть массив значений?


Автор: lankin 27.11.2008, 08:45
Код

insert into table(name)
values(...)

Обычно в values пишетс одно значение, например 'Иванов'. А я бы хотел 10 фамилий вписать. Это можно как-то сделать?

Автор: solenko 27.11.2008, 08:58
Код

insert into table(name)
values (...), (...)

Автор: lankin 27.11.2008, 09:02
а почему вот так нельзя?

Код

insert into table(ID,FullName)
values
(
    (NEWID(),'Иванов Иван Иванович'),(newid(),'Петров Петр Петрович')
)

Автор: solenko 27.11.2008, 09:11
lankin, а в чем разница? Зачем вам эти лишние скобки? А нельзя потому что не по стандарту.

Автор: lankin 27.11.2008, 09:17
То есть мне придется 10 раз вызывать Insert, чтобы 10 записей внести?

Автор: boevik 27.11.2008, 09:24
Цитата(solenko @ 27.11.2008,  08:58)
Код

insert into table(name)
values (...), (...)

IMHO, этот синтакс подходит для MySQL.

Для MSSQL:
Код

insert into table(name)
select 'a'
union
select 'b'


Автор: lankin 27.11.2008, 12:31
boevik, Спасибо, работает!

Добавлено через 33 секунды
А я уже про такую простую, но оказывается полезную вещь как union уже забыл.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)