您的位置:程序门 -> db2 -> 数据管理



弱问:


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


弱问:[无满意答案结贴,结贴人:ftgreat]
发表于:2007-10-02 13:24:08 楼主
我想在一个在表中某一条记录后插入新纪录
比如
原来表按照关键字id存储如:1,2,4,5
现在我想插入关键字id=3到合适的位置,怎么办?
下面是我的想法和问题:
1.   如果一条一条找合适位置,到2之后4之前,我不知道怎么插入新记录在这里?
2。想用cursor,比如申明declare   cur   cursor   for   (select   *   from   emp   where   id> 2)
      那么怎么在这个cursor选中记录的后面插入新纪录,而且这样插入后新纪录会在原表中吗?

非常感谢!
发表于:2007-10-02 15:27:501楼 得分:0
你在cursor中判断,用变量保存上一个的id,如果这次和上个相差不是1,你就插入。
发表于:2007-10-02 18:43:522楼 得分:0
楼上的兄弟,谢谢你!
我不是太清楚你的意思。
在表中的关键字id不是连续的;
还有,如果在cursors中读取(fetch)下一个记录发现应该插在该记录的前面
但是这时使用insert   into   emp   values(...)就只能插在这个记录的后面了。

我还是不知道怎么办,请说详细些啊,谢谢!
发表于:2007-10-07 15:19:473楼 得分:0
你的id是自动增长的吗?
用insert   into   emp(id,..)   values(你保存的id号,)
这样不就行了吗?


快速检索

最新资讯
热门点击