xzb_97
xzb_97
2009-08-31 14:40

请教一个插入的sql语句!

  • 数据库

task表中现有数据:
pid id parentid name start finish
2000 5743 0 2000年数据1 2009-8-27 2009-8-27

2000 5744 5743 2000年数据2 2009-8-27 2009-8-29

sequence表中:
type 2744

当我需要插入这样的新数据时(比如是2009年8月28号插入的):
子件号 父件号 周期
2001年数据1 1天
2001年数据2 2001年数据1 4天

该怎么实现才能插入上面的新数据后task表中的数据如下:

pid id parentid name start finish
2000 5743 0 2000年数据1 2009-8-27 2009-8-27

2000 5744 5743 2000年数据2 2009-8-27 2009-8-27
2001 5745 0 2001年数据1 2009-8-28 2009-8-29
2001 5746 5745 2001年数据2 2009-8-28 2009-9-1

2001的id号是取sequence表type+1,然后将后面的数据id值依次变成新值,请教!
[b]问题补充:[/b]
谢谢关注,三个回复:
1. 我用的数据库是sqlserver2000
2. 数据库中与start和finish的类型是日期型(也就是date).
3.数据是从数据库里另一个表获得的。
[b]问题补充:[/b]
请教各位高手!
[b]问题补充:[/b]
可是id和parentid怎么写sql语句才能实现呢?
[b]问题补充:[/b]
十分感谢你的回复,有个问题请教一下:我将id+1后,这时候要改变parentuid的值,是根据什么条件呢? update parentuid=id from task where name='2001年数据1' 可我是一万条数据的插入?会不会在效率上太差了?
[b]问题补充:[/b]
谢谢你提供的思路,那如果我一次插入一万条数据,在task上建立name的索引,能达到比较好的效率吗?

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

5条回答