你这个字段是附在表上的吗?希望每五条记录有一个新的ID吗? 倘是,那么Create Trigger on Tablename for Insert as If (Select Count(*) From Tablename where ID is null) >=5 Begin Update Tablename set ID = (Select Max(ID) From Tablename) + 1 Where ID is null End
如果只希望这个ID计算出记录条目中五的倍数,则把Where ID is null去掉...不过那样的话你为什么要用这种方法呢,Select Count(*)/5 不就得了
也可以这样,不知道行不行。 然就是用identity字段,自动加1 然后再查询的时候,或者建立视图 create view myview(id,col1...) as select id/5+1,col1 from mytable 然后再查询视图, select * from myview.
倘是,那么Create Trigger on Tablename for Insert
as
If (Select Count(*) From Tablename where ID is null) >=5
Begin
Update Tablename set ID = (Select Max(ID) From Tablename) + 1
Where ID is null
End
然就是用identity字段,自动加1
然后再查询的时候,或者建立视图
create view myview(id,col1...) as
select id/5+1,col1 from mytable
然后再查询视图,
select * from myview.
1
3
5
7
9
11
13
15
17
19
.
.
.
.
取数时取int(ID/10)不是一样的效果吗?或再加个字段,其值取int(id/10)也可以.