表test 含有列:(int)id, (vachar)name, (int)groupid, (vachar)group.
要求:id的取值自动累加排列,groupid的取值自小到大排列,同时自动填补缺额数字(如有1,2,4,插入的数据的时候将自动填补3).
要求:id的取值自动累加排列,groupid的取值自小到大排列,同时自动填补缺额数字(如有1,2,4,插入的数据的时候将自动填补3).
解决方案 »
- SQL Server模板<Table_Name, sysname, Table_Name>看不懂
- 请问:如何取得数据库中的主键,外键,及其它们关联的最近的表名,列名???谢谢(sql server2000)
- 简单问题,急
- 我觉得是一个疑难问题了。登录SQL 2008时报如下错误,跪求高手指点。
- 苦想了3天,想不出来的一个SQL语句。。。
- 一个my sql存储过程的问题,请大侠进来坐坐喝喝茶聊聊天。。。。
- sql中的自我连接有什么作用呢?
- 求更优的生日提醒SQL语句
- 一个关于SQL SERVER 的菜鸟级问题,Help me!!!
- 我在一台服务器上有两个数据库a,b 我想进其中一个怎么办。
- 紧急~VISTA上修改SQL server 2005 sa密码
- 子父關系
declare cur cursor for select groupid from test order by groupid
declare @old int,@groupid int
open cur
fetch next from cur into @groupid
set @old=@groupid
while (@@fetch_status=0 )
begin
if @groupid > @old+1
begin
insert into test values('',@old+1,'')--插入
break
end
else
fetch next from cur into @groupid
set @old=@groupid--保留上次的值
end
close cur
deallocate cur
insert into test (name,groupid,[group]) values('a',1,'a')
insert into test (name,groupid,[group]) values('b',2,'b')
insert into test (name,groupid,[group]) values('c',5,'c')
insert into test (name,groupid,[group]) values('d',8,'d')
declare @groupid int
set @groupid=1
while (select count(*) from test where groupid>@groupid )>0
begin
if ((select count(*) from test where groupid=@groupid )=0)
insert into test (name,groupid,[group]) values('',@groupid,'')--插入
set @groupid=@groupid+1
endselect * from test