Intereting Posts
Передача DataTable в хранимую процедуру. Есть ли способ лучше? Может ли оператор «IN» использовать LIKE-wildcards (%) в Oracle? Как обрабатывать ОГРОМНЫЕ строки SQL в исходном коде Управление иерархиями в SQL: MPTT / вложенные наборы против списков смежности и сохранение путей Как категории и подкатегории для Woocommerce сохраняются в БД? PostgreSQL – вставлять строки на основе выбора из другой таблицы и обновлять FK в этой таблице с вновь вставленными строками Oracle: выберите максимальное значение из разных столбцов одной строки Получить список всех таблиц в Oracle? Уникальные значения для двух столбцов в Доктрине Oracle SQL – сумма и групповые данные по неделям Как защитить от SQL-инъекции, когда предложение WHERE динамически создается из формы поиска? Как выполнить сгенерированный скрипт (файл .sql) со схемой и данными в SQL Server 2008 MYSQL – проверка времени и выполнение запроса Сложный запрос MySQL дает неверные результаты Возвращать идентификатор последней вставленной строки из хранимой процедуры

Вставка в таблицу с несколькими значениями в подзапросе

INSERT INTO Reference_TB] ([RequestID] ,[WaveID]) VALUES (2222,(select tWaveID from @Table2)) 

Я использую выше запрос для вставки в таблицу. Я знаю, что @Table2 имеет несколько tWaveID и поэтому он показывает ошибку:

Подзапрос возвратил более 1 значения. Это недопустимо, когда подзапрос следует =,! =, <, <=,>,> = Или когда подзапрос используется как выражение.

Как разрешить это и вставить twaveID повторяющий RequestID как 2222 для всех записей?

Используйте INSERT ... SELECT вместо подзапроса:

 INSERT INTO Reference_TB] ([RequestID] ,[WaveID]) (select 2222, tWaveID from @Table2) 

Не уверен в точном синтаксисе, поскольку вы не указали систему.

использование вставки select вставляет все значения

 INSERT INTO Reference_TB] ([RequestID] ,[WaveID]) select 2222,tWaveID from @Table2