如何在Insert语句中定义T-SQL变量

时间:2013-01-31 18:11:56

标签: tsql

我有这个示例插入语句,用于复制从Table2到Table1的匹配行:

INSERT INTO Table1 SELECT * FROM Table2 WHERE ID='555'

当此语句有效时,两个表都具有相同的三列,FirstName,LastName和EmailAddr1。

我已经在Table1中添加了一个没有出现在Table2中的列EmailAddr2,我想确保我修改后的insert语句能够正常工作。

这会实现我的目标吗?

SELECT @EmailAddr2 = 'bill@mail.gov'
INSERT INTO Table1 SELECT FirstName, LastName, EmailAddr1, @EmailAddr2 
  FROM Table2 WHERE ID='555'

1 个答案:

答案 0 :(得分:3)

你应该这样做:

declare @emailAddr2 varchar(50)
set @emailAddr2 = 'Bill@mail.gov'

Insert into Table1 ( firstname, lastname, emailaddr1, emailaddr2 ) 
select firstname, lastname, emailaddr1, @emailAddr2
from table2 where id = '555'