Sql server 2008 基于现有数据插入数据

Sql server 2008 基于现有数据插入数据,sql-server-2008,ssis,unique-constraint,Sql Server 2008,Ssis,Unique Constraint,我有一个表,它有类似于(CId,Source)的列。源的值可以是(0,1,2,3)。现在,对于一个CId,表应该只有两条记录 CId='X'和源=0 CId='X'和Source=1(也可以是2或3) 在此之后,如果出现任何其他记录,则不应插入(X,2)(X,3) 记住上面的限制,我想从源文件向表中插入记录。 我正在使用SSIS包加载文件。根据源中的值,添加一个计算的位列,该列为0或1,并在计算列和CId上添加唯一约束 create table YourTable ( CId char(1)

我有一个表,它有类似于(CId,Source)的列。源的值可以是(0,1,2,3)。现在,对于一个CId,表应该只有两条记录

  • CId='X'和源=0
  • CId='X'和Source=1(也可以是2或3)
  • 在此之后,如果出现任何其他记录,则不应插入(X,2)(X,3)

    记住上面的限制,我想从源文件向表中插入记录。
    我正在使用SSIS包加载文件。

    根据
    源中的值,添加一个计算的
    列,该列为
    0
    1
    ,并在计算列和
    CId
    上添加唯一约束

    create table YourTable
    (
      CId char(1) not null,
      Source int not null,
      SourceBit as cast(Source as bit),
      unique (CId, SourceBit)
    )
    

    根据
    Source
    中的值,添加
    0
    1
    的计算
    列,并在计算列和
    CId
    上添加唯一约束

    create table YourTable
    (
      CId char(1) not null,
      Source int not null,
      SourceBit as cast(Source as bit),
      unique (CId, SourceBit)
    )