sql server 2000 安装sp3后的怪异现象 谁给解决一下啊?
sql server 2000 安装了sp3补丁后,用下面的sql创建了一个SerialTable表,
create table SerialTable(Number int Identity(0,1) not null ,Nullity Char(1)) ;
设置number字段是加一自动增长的,
在serialtable中用下面sql插入一条数据时,有时候这条数据不会添加到最后一行,会插入到前面几条数据之间。
insert into SerialTable(nullity)values('A') ;
比如说用select * from serialtable ;查询这个表,
前面五条数据的number值是1,2,3,4,5
再插入一条数据后查询出的结果是:1,2,3,6,4,5
新插入的数据也就是number为6的数据被插入到了3的后面,
我想要的是要插入到5的后面。
这是怎么回事啊?谁能帮我解决一下。
这个数据库是遗留下来的老库,之前的软件程序代码是要取出这个表的number最大值做另外一个表的主键,
取最大值时使用select number from serialtable得到list ,然后取list的最后一个值为最大值,
由于上面说道的这种情况,list的最后一个值就不是最大值了,所以程序报错。
在解决办法中不能更改以前程序的代码,也不能更改sql语句,只能更改这个表,
并且改后的这个表还要符合我上面说的业务逻辑。
这个问题出现在我安装了sp3后,不知道和sp3有没有关系。我想解决的是怎样把新数据插入到数据库的最后。
之前的程序使用c++做的,我现在在这个数据库的基础上要用java做一个新程序,所以sp3是必须装的。