0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 23

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

14.02.2016, 13:29. Показов 1761. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru