首页 > 代码库 > SQL语句复制父子级表数据
SQL语句复制父子级表数据
原始表Book数据如下: id为自增长整数,text为内容,pid为上级ID
id text pid
1 第一层 0
2 数学 0
3 第二层 1
4 语文 1
5 第三层 3
6 英语 3
……………………
现要求拷贝一份这样的数据到同一个表Book中,成功后的数据应该如下
id text pid
100 第一层 0
101 数学 0
102 第二层 100
103 语文 100
104 第三层 102
105 英语 102
……………………
--第一步:复制全部数据 Insert Into Book(text,pid) Select a.text,a.pid From Book a where 条件 --第二步:创建变量表 declare @t table(idx int,id int,pid int,id2 int,pid2 int) Insert Into @t select ROW_NUMBER() OVER (ORDER BY a.pid) AS idx,a.id,a.pid,b.id id2,b.pid pid2 from Book a inner join Book b on b.text=a.text and b.pid=a.pid where 条件 --第三步:修改新数据的pid update Book set pid=c.id2 from @t a inner join @t b on b.pid=a.id inner join @t c on c.idx=a.idx
SQL语句复制父子级表数据
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。