我正在使用 SQL Server 管理工具 2008 将数据导入 Web 主机数据库。我有带有主键的表。(每行的ID)现在我可以正常导入数据了。但是当我第二次导入数据时..我需要确保只有那些当前不存在的行才被插入。如果有一个使用向导来做到这一点?如果没有,那么最佳做法是什么?
user1711245
问问题
2313 次
2 回答
1
- 将数据插入临时表
- 使用与主表的左连接来确定要插入哪些记录
--
CREATE TABLE T1(col1 int)
go
CREATE TABLE Temp(col1 int )
go
INSERT INTO T1
SELECT 1
UNION
SELECT 2
INSERT INTO TEMP
SELECT 1
UNION
SELECT 2
UNION
SELECT 3
UNION
SELECT 4
INSERT INTO T1
SELECT TEMP.col1
FROM Temp
LEFT JOIN T1
ON TEMP.col1 = T1.col1
WHERE T1.col1 IS NULL
于 2013-02-09T20:09:07.073 回答
0
我前段时间用过这个,也许它可以帮助:
insert into timestudio.dbo.seccoes (Seccao,Descricao,IdRegiao,IdEmpresa)
select distinct CCT_COD_CENTRO_CUSTO, CCT_DESIGNACAO, '9', '10' from rhxxi.dbo.RH_CCTT0
where CCT_COD_CENTRO_CUSTO not in (select Seccao from TimeStudio.dbo.Seccoes where idempresa = '10')
或者,只需使用简单的 IF 语句。
于 2013-02-09T19:50:52.933 回答