Вставка 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


person BK52    schedule 14.11.2016    source источник


Ответы (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

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

person Matt    schedule 14.11.2016

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

person Karvan    schedule 14.11.2016
comment
Технически вы были бы правы, хотя я уже ответил так. В будущем было бы хорошо показать фактическое изменение с помощью кода, а не прямого повествования, так другим будет легче следовать вашему ответу. - person Matt; 14.11.2016