Вставка SQL с выбором и параметром

Привет у меня проблема

declare @target_date datetime
set @target_date=GETDATE();


insert into table1 ([column1],[column2],[column3])
(select [column1],[column2] from table2 where id=@id), @target_date

Как я могу решить эту проблему

Вставить
Table1.Column1 = Table2.Column1
Table1.Column2 = Table2.Column2
Table1.Column3=@target_date

2 ответа

Решение
declare @target_date datetime
set @target_date=GETDATE();


insert into table1 ([column1],[column2],[column3])
select [column1],[column2], @target_date from table2 where id=@id

Просто сделайте переменную значением вычисляемого столбца

Вам не нужно () для выбора команды после вставки, и вы должны переместить @target_date внутри команды выбора.

Другие вопросы по тегам