Вы не сможете выполнить несколько вставок для обновления столбца (следовательно, отдельных операторов insert
и update
).Я вижу два варианта:
Вставить, затем обновить
INSERT INTO #TEMPTABLE2 (ID,COL2) VALUES(1,'A')
UPDATE #TEMPTABLE2 SET COL2 = COL2 + ',' + B WHERE ID = 1
UPDATE #TEMPTABLE2 SET COL2 = COL2 + ',' + C WHERE ID = 1
Это довольно грязно, но работает.
Вставить, но выбратьв список через запятую
В этом случае вы можете сделать свой первичный ключ комбинацией ID и COL2 (хотя я не уверен, что рекомендую это) и вставить значения, как вы делаете это выше,Затем, когда вам нужен список с разделителями-запятыми, выберите его как таковой, например, используя разбор (как указано в Pinal Dave ):
DECLARE @listStr VARCHAR(MAX)
SELECT @listStr = COALESCE(@listStr+',' ,'') + Name
FROM Production.Product