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

找最牛的人!!!敢接贴的人!!!彻底解决SQL2000中自动编号的刷新问题!!
比如,原来表中的自动编号是1,2,3,4,5,6在前台删除了一条记录2后,自动编号就变成了1,3,4,5,6
如何能让自自动刷新成1,2,3,4,5!!!
------解决方案--------------------
使用触发器,重新更新编号
------解决方案--------------------
该回复于2010-07-28 09:06:05被版主删除
------解决方案--------------------
根本没必要这样 查询的时候直接排序不是一样么??
触发器的效率并不是很好
------解决方案--------------------
为啥要这样啊,
存储数据照样一样,
你查询的时候处理一下不就好了吗
------解决方案--------------------
那列是自增列?
------解决方案--------------------
标题党?
------解决方案--------------------
很明显
------解决方案--------------------
http://blog.csdn.net/fcuandy/archive/2008/12/15/3522876.aspx
------解决方案--------------------
标题党不是第一次见。。。
别使用什么自动编号刷新了,,,
自己新增个字段来刷就完了嘛,,,
实在想刷,,,就对delete做触发器去

SQL2000:
select id=(select count(*) from tb t where ...)+1,* from #table
sql2005:
SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) as AddId,* from #table

若做触发器
触发语句为

update table #table set id= t2.addid from #table as t1
left join (SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) as AddId,* from #table) as t2 on 
t1.id=t2.id 
------解决方案--------------------
引用:
根本没必要这样 查询的时候直接排序不是一样么??
触发器的效率并不是很好

如果查询的时候,在查询中进行编号处理,是把前面所有的活(编号处理)积攒在一起然后进行处理,而触发器是一点一点的干,那么查询的时候,那个用的时间那个更少呢?
------解决方案--------------------
标题党!

zxcvbnm13685139532 (zxcvbnm13685139532)
  '截至2010-01-09 22:21:09  用户结帖率0.00% 


一般来说,设计数据库的时候,根本不应该出现这种需求。如果需要连号,则应该是在查询中实现,而不是去改表中实际的编号主键。
------解决方案--------------------
标题党! 
------解决方案--------------------
引用:
引用:
 根本没必要这样 查询的时候直接排序不是一样么??
 触发器的效率并不是很好

 如果查询的时候,在查询中进行编号处理,是把前面所有的活(编号处理)积攒在一起然后进行处理,而触发器是一点一点的干,那么查询的时候,那个用的时间那个更少呢?

是不是应该看一下是插入删除的多还是查询的多再选不同的方法
------解决方案--------------------
找有技术的出来说话,我会结贴的
如果是插入或者删除,在数据库的表中,自动编号就会依次往下排列,比如1,2,3,4,5,6
删除3后,在数据库sql2000中就会留下1,2,4,5,6现在我们要做的就是让数据库中的表刷新到1,2,3,4,5
若说在删除后,要让前台的显示界面按顺序显示,我早已经做好了。

------解决方案--------------------
8楼的信息有用,结贴的会记得你的