Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Caché Новый топик    Ответить
 SQL Insert много раз  [new]
Sabyrov.Talgat
Member

Откуда:
Сообщений: 264
Нужно записать в одну таблицу много значений одним запросом
INSERT INTO Person( Column1, Column2 )
VALUES ( Value1, Value2 ), ( Value3, Value4 )

Так не работает

INSERT INTO Person(column1, column2)

SELECTFirst,1

UNION ALL

SELECTSecond,2

UNION ALL

SELECT  ‘Third’ ,3

Так работает, но имеет лимит. 5000 записей одним запросом не добавить.

ПРОШУ ПОМОЧЬ!!!
20 фев 17, 09:31    [20227419]     Ответить | Цитировать Сообщить модератору
 Re: SQL Insert много раз  [new]
DAiMor
Member

Откуда: Volzhsky -> Moscow -> CZ, Brno
Сообщений: 2298
В любом случае вам нужно разделить на несколько, иначе вы упретесь в предел транзакции
Пока весь запрос не будет усполнен будут висеть все блокировки по изменяемым объектам. И вы достигнете лимита этой таблицы, ее можно увеличить, но предел то все равно должен быть.

Зачем вам нужно делать это именно одним запросом? Я вижу только одну причину делать так, это чтобы все данные были добавлены одной транзакцией.

Запрос что ты привел первым не поддерживается, так можно добавить только одну строку, соотвественно только один список значений допустим. Есть еще способ добавить сразу несколько строк, это получить эти значения, из другой таблицы или запроса.
Можно попробовать сделать вьюху, которая будет возвращать данные для добавления, и запрос будет намного короче.

Кстати столкнувшись с ограничением, какую ошибку получаешь?
20 фев 17, 10:55    [20227674]     Ответить | Цитировать Сообщить модератору
 Re: SQL Insert много раз  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 12772
Sabyrov.Talgat
Нужно записать в одну таблицу много значений одним запросом

С чем связаны ограничения именно запросом и именно одним?
20 фев 17, 14:02    [20228591]     Ответить | Цитировать Сообщить модератору
 Re: SQL Insert много раз  [new]
ну я
Member

Откуда: Stalingrad
Сообщений: 1092
Sabyrov.Talgat,

Если текстовка запроса длинная строка, то само по себе будет ограничение в 32 кила, куда бы ни писалось.
20 фев 17, 18:14    [20230168]     Ответить | Цитировать Сообщить модератору
 Re: SQL Insert много раз  [new]
Блок А.Н.
Member

Откуда: Новосибирск
Сообщений: 3452
Но мы пока не услышали самого главного - зачем?
20 фев 17, 18:48    [20230353]     Ответить | Цитировать Сообщить модератору
 Re: SQL Insert много раз  [new]
Sabyrov.Talgat
Member

Откуда:
Сообщений: 264
Благодарю господа.
Нужно делать Insert несколько раз, а не одним запросом.
Спасибо большое)
21 фев 17, 13:11    [20232785]     Ответить | Цитировать Сообщить модератору
Все форумы / Caché Ответить