日期:2014-05-17  浏览次数:20537 次

这样的存储过程怎么写,一直没解决
插入如上表的编号以后,因为我表格的排序要用ischeck来排序,当我要在ischeck为2、3 中间插入一个值 ,也就是下面id为6的是我插入的一条语句,我想达到下面这张表达到的效果,其实就是给ischeck 重新编号我该如何写存储过程,效果如下表显示

id  name   ischeck
1   jack     1
2   tony     2
3   amanda   4
4   xiao     5
5   ming     6
6   tao      3

这样的存储过程怎么写?求各位帮忙!答者给分!谢谢!  

------解决方案--------------------
update tablexxx set ischeck=id
------解决方案--------------------
用游标,循环每条记录,@i递增,然后update ischeck的值为@i
------解决方案--------------------
IDENTITY(INT,20,1)
20表示最小数从20开始,改成1就从1开始

------解决方案--------------------
首先查找你要插入行的ischeck:
select @ischeck =ischeck from tb where ID=@id

接下来将其他行的编号更新掉:
update tb set ischeck=ischeck+1 from tb where ischeck >=@ischeck

接下来将要插入的行插进去:
insert into tb(ischeck) vlaues(@ischeck)

步骤有点多,有用就行