我使用这个脚本创建了一个表。
use DWResourceTask
go
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[DimEntity]') AND type in (N'U'))
DROP TABLE [DimEntity]
Go
Create Table DimEntity
(EntityKey int NOT NULL identity PRIMARY KEY,
[EntCode] [nvarchar](8) NOT NULL,
[Name] [nvarchar](80) NOT NULL,
[CompanyRegistration] [nvarchar](80) NULL,
[Active] [int] NOT NULL,
[AccessLevel] [int] NOT NULL ,
[SiteURN] [nvarchar](128) NOT NULL,
[CompanyURN] [nvarchar](128) NOT NULL,
[SiteName] [nvarchar](30) NOT NULL,
[SiteDesc] [nvarchar](60) NULL,
[SiteURL] [nvarchar](512) NOT NULL)
我使用这个插入数据
Select e.EntCode, e.Name, e.Active, e.AccessLevel, ss.SiteURN, ss.CompanyURN,
ss.SiteName, ss.SiteDesc, ss.SiteURL
from USA.dbo.SCSite ss, USA.dbo.SCLegalEnt e
where ss.localsiteflag = 1
and e.active = 1
UNION ALL
Select e.EntCode, e.Name, e.Active, e.AccessLevel, ss.SiteURN, ss.CompanyURN,
ss.SiteName, ss.SiteDesc, ss.SiteURL
from UK.dbo.SCSite ss, UK.dbo.SCLegalEnt e
where ss.localsiteflag = 1
and e.active = 1
我想要做的是我计划创建一个 SSIS 包,无论我执行多少次,它都只会插入新记录或/和更新现有记录。过程应该是可重复的。
我应该在 OLE DB 源中的 SQL 命令中放入什么脚本来插入“仅”新记录或/和更新现有记录。
它是某种更新命令吗?但是怎么做?我不需要 truncate 或 delete 命令来更新表中的数据。