用Trigger建议:
FIELD1 FIELD2 FIELD3
10 A AA
20 B BB
30 C CC
35 1 刚插入的记录
40 D DD
50 E EE
60 F FF
70 G GG
FIELD1 FIELD2 FIELD3
10 A AA
20 B BB
30 C CC
35 1 刚插入的记录
40 D DD
50 E EE
60 F FF
70 G GG
for insert
as
update 表
set FIELD1=FIELD1+1
where FIELD1>(select top 1 FIELD1 from inserted)
set @id = 4
--先
update 表
set FIELD1=FIELD1+1
where FIELD1 > @id
--后
insert into 表 (@id,1,'刚插入的记录')
但如果 Field1 是主索引鍵的話,可能需要改進為
declare @id int
set @id = 4
--用暫存Table保存>@ID的數據
insert into #B
select FIELD1+1,FIELD2,FIELD3 from A
where A.FIELD1>@id
--刪除>@ID的數據
delete from A where FIELD1>@id--插入第>@ID的數據
insert into A
select @id,1,'刚插入的记录'
--插入暫存後的數據
insert into A
select * from #B
--刪除暫存表
Drop table #B--應該可以了
呵呵,我试过了,FIELD1作为主键也可以用playyuer(双规干部)的方法。
FIELD1 FIELD2 FIELD3 FIELD4 FIELD5
1 A AA 55 66
2 B BB 55 66
3 C CC 55 66
4 D DD 55 66
5 E EE 55 66
6 F FF 55 66
7 G GG 55 66 1 A AA 77 88
2 B BB 77 88
3 C CC 77 88
4 D DD 77 88
5 E EE 77 88
6 F FF 77 88
7 G GG 77 88
现我在其中插入一条记录如下:
1 A AA 55 66
2 B BB 55 66
3 C CC 55 66
4 1 刚插入的记录55 66
5 D DD 55 66
6 E EE 55 66
7 F FF 55 66
8 G GG 55 66 1 A AA 77 88
2 B BB 77 88
3 C CC 77 88
4 D DD 77 88
5 E EE 77 88
6 F FF 77 88
7 G GG 77 88
其条件是FIELD4=55 and FIELD5=66
这样要怎样做呢?谢谢!