我有这个示例插入语句,用于复制从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'
答案 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'