日期:2014-05-18  浏览次数:20586 次

表设计及数据插入问题
表1有3个字段:
ID,名,次序。
1,第一,1
2,第二,2
3,第三,3
。。。。。。
次序字段是用来在查询时排序的。
现在,我想插入一行(第第),但这一行的次序是3,这样‘第三’及它后面的次序必须都要改,变为:
1,第一,1
2,第二,2
3,第三,4
。。。。。
n,第第,3
SQL语句怎么实现?
或者我建的表不合理?
大家给点意见。

------解决方案--------------------
插入后更新不行吗?
------解决方案--------------------
--用触发器
create trigger auto_update on tablename
for insert
as
update tablename set 次序 = 次序+1 from inserted a where 次序> =a.次序 and id <> a.id

--插入后直接更新
update tablename set 次序 = 次序+1 where 次序> =3 and id <> n

------解决方案--------------------
同意楼上~~