У меня есть Dashboard_Diagram
таблица:
CREATE TABLE Dashboard_Diagram
(
diagram_id TINYINT,
name VARCHAR(50)
)
INSERT INTO Dashboard_Diagram
SELECT 1, 'Radar'
UNION ALL
SELECT 2, 'Bar'
UNION ALL
SELECT 3, 'Pie'
У меня есть Dashboard_Configuration
таблица:
CREATE TABLE SomeTable
(
user_id UNIQUEIDENTIFIER,
diagram_id TINYINT
)
И @user_id
:
DECLARE @user_id UNIQUEIDENTIFIER = 'E4F77F2C-8AA1-493A-94A3-03EA212453D4'
Я хочу динамически вставлять строки в Dashboard_Configuration
, основываясь на строках в Dashboard_Diagram
.Статически это будет выглядеть так:
INSERT INTO Dashboard_Configuration
@userId, 1
. . .
Я пытался:
INSERT INTO Dashboard_Configuration
@user_id, (SELECT diagram_id FROM Dashboard_Diagram)
Но это выдает ошибку, потому что подзапрос возвращает более одного значения:
Сообщение 512, Уровень 16, Состояние 1, Строка 7
Подзапрос вернул более 1 значения.Это недопустимо, если подзапрос следует =,! =, <, <=,>,> = Или когда подзапрос используется в качестве выражения.
Как вставить в таблицу на основена динамическое количество строк из другой таблицы?