求助!表内数据复制问题。

zhuanshen712 2008-12-15 12:29:47
问题是这样的:
有个表是存储树形目录的数据的,结构为:
ID:int (节点ID)
Name:varchar(200) (节点名称)
P_ID:int (父节点ID)
cat_order:int (顺序)
KeyWord:varchar(200) (关键字)
比如说:有个树 他的关键字是EXAMPLE1 数据如下:
ID Name P_ID cat_order keyWord
1 名称1 null 0 EXAMPLE1
2 名称2 1 0 EXAMPLE1
3 名称3 1 1 EXAMPLE1
4 名称4 1 2 EXAMPLE1
5 名称5 2 0 EXAMPLE1
6 名称6 2 1 EXAMPLE1
7 名称7 3 0 EXAMPLE1
8 名称8 6 0 EXAMPLE1
那么这个树结构应该是这样的:
名称1
|___名称2
| |_名称5
| |_名称6
| |_名称8
|
|___名称3
| |_名称7
|
|___名称4


现在想要复制一份这个数据,使得Name和cat_order 不变(树结构也不变)
比如数据变成这样:
ID Name P_ID cat_order keyWord
1 名称1 null 0 EXAMPLE1
2 名称2 1 0 EXAMPLE1
3 名称3 1 1 EXAMPLE1
4 名称4 1 2 EXAMPLE1
5 名称5 2 0 EXAMPLE1
6 名称6 2 1 EXAMPLE1
7 名称7 3 0 EXAMPLE1
8 名称8 6 0 EXAMPLE1
-------下面是新生成的数据,保持了原来树的结构及名称顺序等,但是ID、P_ID、keyWord做了相应的改变。
9 名称1 null 0 EXAMPLE2
10 名称2 9 0 EXAMPLE2
11 名称3 9 1 EXAMPLE2
12 名称4 9 2 EXAMPLE2
13 名称5 10 0 EXAMPLE2
14 名称6 10 1 EXAMPLE2
15 名称7 11 0 EXAMPLE2
16 名称8 14 0 EXAMPLE2
=====================
说明:ID是主键,可以用max来生成唯一的,keyWord随便起名(定为EXAM吧)
希望大家能帮帮忙,谢谢了。
...全文
75 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuanshen712 2008-12-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dawugui 的回复:]
太难,建议在程序中用代码使用循环完成.
[/Quote]
大哥级别的都这样说了,对我有一定的打击!
dawugui 2008-12-15
  • 打赏
  • 举报
回复
太难,建议在程序中用代码使用循环完成.
claro 2008-12-15
  • 打赏
  • 举报
回复
关注
zhuanshen712 2008-12-15
  • 打赏
  • 举报
回复
??
zhuanshen712 2008-12-15
  • 打赏
  • 举报
回复
难道只能像 dawugui 说的那样吗?
zhuanshen712 2008-12-15
  • 打赏
  • 举报
回复
当然没这么简单了,我的意思是让一些数据新插进去,生成新的id。
  • 打赏
  • 举报
回复
关键是你生成新数据的依据是什么?

象你上面的数据:
update tb
set id=id+8,
p_id=p_id+8
select * from tb

9 名称1 NULL 0 EXAMPLE1
10 名称2 9 0 EXAMPLE1
11 名称3 9 1 EXAMPLE1
12 名称4 9 2 EXAMPLE1
13 名称5 10 0 EXAMPLE1
14 名称6 10 1 EXAMPLE1
15 名称7 11 0 EXAMPLE1
16 名称8 14 0 EXAMPLE1


我觉得没这么简单吧

34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧