首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求一条SQL语句看看能不能实现这样的要求,该如何解决

2012-04-26 
求一条SQL语句看看能不能实现这样的要求select od,title from table1 order by od 返回这样的结果100aaaa2

求一条SQL语句看看能不能实现这样的要求
select od,title from table1 order by od 返回这样的结果
100 aaaa
200 bb
300 ccc
400 这行是400
500 500行

现在想在or为300的后边插入一行,结果变成
100 aaaa
200 bb
300 ccc
400 这是插入的行 ==>在od为300的行插入后,原300后边的数据重新按顺序编号
500 这行是400 ==>这是原来的400, 上面插入后or这一列的值变为500
600 500行

这样的要求能不能用一条SQL语句实现啊?

[解决办法]
declare @T table(od int,title varchar(50))
insert into @T

select 100,'aaaa' union all
select 200,'bb' union all
select 300,'ccc' union all
select 400,'这行是400' union all
select 500,'500行' 
 
 
--400 这是插入的行 

select od,title from @T order by od 
declare @temp int
set @temp=400 
update @T set od=od+100 where od>=@temp
insert into @T(od,title) values(@temp,'这是插入的行')
select od,title from @T order by od 

————————————————————————————————
od title
----------- --------------------------------------------------
100 aaaa
200 bb
300 ccc
400 这是插入的行
500 这行是400
600 500行

热点排行