Выберите Вставить заменяющую локальную переменную для столбца - PullRequest
1 голос
/ 04 января 2011

Я хочу вставить записи из одной таблицы в другую, как

Insert into table2([column1], [column2], [column3])  
select column1, column2, column3  
from table1

однако вместо всех трех значений из таблицы 1 я хотел бы вставить конкретное значение, хранящееся в переменной. Я думаю, что это будет выглядеть примерно так

declare @variable int
set @variable = 2

Insert into table2([column1], [column2], [column3]) 
select @variable, column2, column3  
from table1

Таким образом, каждая строка из первой таблицы будет вставлена ​​во вторую таблицу, с той лишь разницей, что каждое значение в первом столбце будет равно 2.

Возможно ли это без использования курсора?

Ответы [ 2 ]

5 голосов
/ 04 января 2011

То, как вы это сделали, правильно:

INSERT INTO table2 ([column1], [column2], [column3])
SELECT @variable, column2, column3
FROM table1
1 голос
/ 04 января 2011

что у вас должно работать просто отлично

declare @variable int 
set @variable = 2

Insert into table2([column1], [column2], [column3]) 
select @variable, column2, column3
from table1
...