现在有一个需求,需要复制数据库中的数据,但是存在子母关系,哪位大虾给点意见呀!!!比如:  有数据   atuoID         parentID        Name  其中 autoID自动生成
                            4b5c                                  母
                            44cc             4b5c              一级子
                             55cc             4b5c           一级子
                            66vv             55cc           二级子
                             33bn            66vv           三级子现在要复制相同 关系的另一批数据????SQL数据库

解决方案 »

  1.   

    请参考树的处理,也许有用
    http://blog.csdn.net/zjcxc/article/details/20073
      

  2.   

    今天论坛的显示有问题,回车符没了.不太明白LZ的需求,看看这是十分有帮助..
    参考 http://bbs.csdn.net/topics/390531860
      

  3.   

    CREATE TABLE TreeShip(
      [ID] uniqueidentifier PRIMARY KEY NOT NULL,
      [Name] [nvarchar](50) NULL,
      [Re] [nvarchar](500) NULL,
      [ParentID] uniqueidentifier not null
    )GOINSERT INTO TreeShip(ID,Name,Re,ParentID) values ('47B9AF56-32D8-4561-8096-15D832C47B26','上海一中','源数据','00000000-0000-0000-0000-000000000000')
    INSERT INTO TreeShip(ID,Name,Re,ParentID) values ('64F41586-449A-464B-BB48-FF13FBC492BC','上海二中','源数据','00000000-0000-0000-0000-000000000000')
    INSERT INTO TreeShip(ID,Name,Re,ParentID) values (newid(),'上海三中','源数据','00000000-0000-0000-0000-000000000000')INSERT INTO TreeShip(ID,Name,Re,ParentID) values (newid(),'上海一中一班','源数据','47B9AF56-32D8-4561-8096-15D832C47B26')
    INSERT INTO TreeShip(ID,Name,Re,ParentID) values (newid(),'上海一中二班','源数据','47B9AF56-32D8-4561-8096-15D832C47B26')
    INSERT INTO TreeShip(ID,Name,Re,ParentID) values (newid(),'上海一中三班','源数据','47B9AF56-32D8-4561-8096-15D832C47B26')
    INSERT INTO TreeShip(ID,Name,Re,ParentID) values (newid(),'上海二中一班','源数据','64F41586-449A-464B-BB48-FF13FBC492BC')
    INSERT INTO TreeShip(ID,Name,Re,ParentID) values (newid(),'上海二中二班','源数据','64F41586-449A-464B-BB48-FF13FBC492BC')GODECLARE @TreeType nvarchar(20)
    SET @TreeType = '新数据'
    BEGIN
      --创建一个临时表,记录ID的变化
    SELECT ID AS FromID,newid() AS ToID INTO #TEMP FROM TreeShip WHERE Re ='源数据'
      --插入相应的数据
    INSERT INTO TreeShip(ID,Name,Re,ParentID)
      SELECT M1.ToID,A.Name,@TreeType,ISNULL(M2.ToID,'00000000-0000-0000-0000-000000000000')
      FROM TreeShip A
      INNER JOIN #TEMP M1 ON A.ID = M1.FromID
      LEFT JOIN #TEMP M2 ON A.ParentID = M2.FromID
      
      DROP TABLE #TEMP 
    ENDGOSELECT * FROM TreeShip  ORDER BY REMARK ,PARENTID,NAME