假设
- 有在tblVisits没有数据
- ID不是自动递增标识列
- 所有列有默认值指定
然后你查询会起作用
insert into tblVisits (kha_id, adm_src) select kha_id, adm_src from tblAdm_Src
如果某些列没有默认值,则需要在查询中提供默认值,例如,
insert into tblVisits (kha_id, adm_src, otherColumn)
select kha_id, adm_src, 'a value' from tblAdm_Src
如果kha_id是标识列,您需要使用SET IDENTITY_INSERT
set identity_insert tblVisits on
insert into tblVisits (kha_id, adm_src) select kha_id, adm_src from tblAdm_Src
set identity_insert tblVisits off
如果在访问现有的数据,你需要更新匹配的行,但插入缺失的人,那么你需要的东西像
-- update existing rows
update tblVisits
set adm_src = tblAdm_Sr.adm_src
from VisitSource
where tblVisits.kha_id = tblAdm_Sr.kha_id
-- insert missing rows
insert into tblVisits (kha_id, adm_src)
select kha_id, adm_src from tblAdm_Src
where not exists(
select kha_id from tblVisits where tblVisits.kha_id = tblAdm_Src.kha_id)
当然,并考虑到默认值,并自动增加必要的Id列
如果您需要在tblVisits中插入行,更新行或两者的混合,则不需要解释。 – Phil 2012-03-28 15:11:30
我需要将行插入tblVisits。 – wootscootinboogie 2012-03-28 15:15:32
那你为什么不尝试呢? – Phil 2012-03-28 16:03:11