Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 23

Вставка данных в таблицу Insert

14.02.2016, 13:29. Показов 1751. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, есть таблица например временная

T-SQL
1
2
3
4
5
Declare @ii table (cc int, dd int)
 
--хочу в нее вставить insert
 
insert @ii (cc,dd) values (22, 'select 1,2,3,4,5,6,7,8,9,10')
Что хочу получить, одним инсертом, вставить 10 строк, что б первое значение было 22 и второе значение из селекта вставилось в каждую новую строку.

Как поступить?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.02.2016, 13:29
Ответы с готовыми решениями:

Вставка данных в новую таблицу
Добрый день! Когда-то было тестовым заданием для меня (сейчас решил доделать). ТЕКСТ ЗАДАЧИ: Имеется список женихов и список невест....

Сложный INSERT в пустую таблицу
Не нашел подобной темы, как ни пытался. Не могу понять как реализовать запрос. Существует таблица table1, с несколькими столбцами...

INSERT в таблицу с автоинкрементирующимся полем (javascript + websql)
Надеюсь раздел выбрал правильно. Пытаюсь выполнить такую функцию (javascript, работаю с websql): db.transaction(function (tx) { ...

7
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
14.02.2016, 13:47
Цитата Сообщение от alexs777 Посмотреть сообщение
Declare @ii table (cc int, dd int)
--хочу в нее вставить insert
insert @ii (cc,dd) values (22, 'select 1,2,3,4,5,6,7,8,9,10')
Что хочу получить, одним инсертом, вставить 10 строк, что б первое значение было 22 и второе значение из селекта вставилось в каждую новую строку.
1. @ii - это не временная таблица
2. как можно было додуматься до такого "синтаксиса"?
3. универсальное решение - INSERT SELECT UNION ALL SELECT UNION ALL SELECT ...
4.
T-SQL
1
insert @ii(cc,dd) values (22,1),(22,2),(22,3),(22,4),(22,5),(22,6),(22,7),(22,8),(22,9),(22,10);
0
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 23
14.02.2016, 13:55  [ТС]
iap
А если мне в селекте надо 1000 значений вставить то уже вариант не подойдет такой
0
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
14.02.2016, 14:07
Цитата Сообщение от alexs777 Посмотреть сообщение
iap
А если мне в селекте надо 1000 значений вставить то уже вариант не подойдет такой
Откуда возьмутся эти 1000 записей?
Для массовой вставки имеются BULK INSERT, bcp и т.д.
Кроме того, в UNION ALL можно задать много-много SELECTов.
А количество строк в VALUES(...,...),(...,...),... официально ограничены 1000, а на самом деле больше
0
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 23
14.02.2016, 14:29  [ТС]
На самом деле я упростил вопрос.
есть select id from @ii2 где тысяча строк
и мне б его вставить в другую таблицу, в которой столбец сс один остается, в dd мне нужно вставить из select id from @ii2
Что то типа insert @ii(cc,dd) values (21,(select id from @ii2))
Из-за того что в select id from @ii2 много строк, ругается, как сделать что б не ругался не понятно
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
14.02.2016, 14:32
Лучший ответ Сообщение было отмечено alexs777 как решение

Решение

Цитата Сообщение от alexs777 Посмотреть сообщение
А если мне в селекте надо 1000 значений вставить то уже вариант не подойдет такой
Ограничение в 1000 элементов относится только для непосредственного values в insert. Если писать
T-SQL
1
2
3
4
5
6
insert into [Table]
 (field1, field2, ..., fieldN)
 select
  t.field1, t.field2, ..., t.fieldN
 from
  (values (...), ..., (...)) t(field1, field2, ..., fieldN);
Никаких ограничений нет.

Добавлено через 1 минуту
Цитата Сообщение от alexs777 Посмотреть сообщение
Что то типа insert @ii(cc,dd) values (21,(select id from @ii2))
Мда...
T-SQL
1
insert @ii(cc,dd) select 21, id from @ii2
Синтаксис инструкций нужно смотреть в документации, а не придумывать свой.
1
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
14.02.2016, 14:33
Лучший ответ Сообщение было отмечено alexs777 как решение

Решение

Цитата Сообщение от alexs777 Посмотреть сообщение
На самом деле я упростил вопрос.
есть select id from @ii2 где тысяча строк
и мне б его вставить в другую таблицу, в которой столбец сс один остается, в dd мне нужно вставить из select id from @ii2
Что то типа insert @ii(cc,dd) values (21,(select id from @ii2))
Из-за того что в select id from @ii2 много строк, ругается, как сделать что б не ругался не понятно
Что мешает посмотреть синтаксис INSERT в документации?
T-SQL
1
insert @ii(cc,dd) select 21, id from @ii2;
1
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 23
14.02.2016, 14:46  [ТС]
Всем огромное спасибо, все получилось
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.02.2016, 14:46
Помогаю со студенческими работами здесь

Вставка в таблицу
Всем привет. Очень нужна помощь, разъясните, пожалуйста, в чём может быть проблема. Имеется 4 таблицы. table1, столбец Column1 ...

Оптимизация insert в таблицу большого числа строк (100000 и более)
Добрый день! Задача такая - используя задачу по расписанию (vbs-скрипт) перелить из одной таблицы в другую большое число строк. Более 1...

Вставка в новую таблицу
Доброго времени суток. Есть вот такой код: Use SalesAnalyst INSERT INTO .dbo.MyOFF ( Contractor, OUTNUM, ORDNUM,

Разбор xml и вставка в таблицу
Добрый день! Столкнулась с проблемой при разборе xml-пакета для его дальнейшего экспорта в БД Пакет выглядит так ...

Из-за триггера не происходит вставка в таблицу
Есть вот такая процедура вставки в таблицы: ALTER PROCEDURE . @Client char(30), @Personnel char(30), @towar char(30), ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru