假如有四个表
表结构如下
表A
ID  NAME
1    A
2    B
3    C表B
ID  NAME 表AID
1    A     1
2    B     1
3    C     2
4    D     2表C
ID  NAME 表BID
1    A    2
2    B    1
3    B    4
4    C    1表D
ID  NAME  表AID
1    A     1
2    B     2
3    A     1
这些数据已经存在
现在我要一模一样重新复制这些数据,并生成新的ID,应该怎么做呢?

解决方案 »

  1.   

    新增时不指定新ID用Output返回插入ID到表变量或临时表
      

  2.   

    大大你好。
    我的意思就是一模一样复制一份数据 表A的数据全部复制,表B根据表A的ID字段复制,表C根据表B的ID字段复制,表C根据表A的ID字段复制。
    复制的结果是
    表A
    ID NAME
    1 A
    2 B
    3 C
    4 A
    5 B
    6 C表B
    ID NAME 表AID
    1 A 1
    2 B 1
    3 C 2
    4 D 2
    5 A 4
    6 B 4
    7 C 5
    8 D 5表C
    ID NAME 表BID
    1 A 2
    2 B 1
    3 B 4
    4 C 1
    5 A 6
    6 B 5
    7 B 8
    8 C 5
    表D
    ID NAME 表AID
    1 A 1
    2 B 2
    3 A 1
    4 A 4
    5 B 5
    6 A 4 
      

  3.   

    首先记下来表A的最大ID为@oldmaxID。
    Insert into A表后insert into b
    select b.name,a.id from b
    join a on b.name=a.name and a.id>@oldmaxID
    其他表同样操作。
      

  4.   

    B根据A表的ID复制,是A表复制后的ID,还是复制前的ID?