DECLARE @tmp table(ID int,Sample Decimal(15,0))
INSERT INTO @tmp SELECT ID,Sample From b WHERE ID<10 AND ID>2
/*先把第二條跟第十條記錄的值換過來*/
SELECT @tmpd=Sample From b WHERE ID=2
SELECT @tmpd2=Sample From b WHERE ID=10
UPDATE b SET Sample=@tmpd WHERE ID=10
UPDATE b SET Sample=@tmpd2 WHERE ID=2
/*其它的記錄向後順序移動*/
UPDATE b SET b.Sample=a.Sample From @tmp as a,b WHERE a.ID=(b.ID+1)
不可以,这条语句回把所有满足sort<id1 and sort>=id2的纪录的sort的值加1;
如果说真的仅有10条数据,倒是可以这样实现(oracle):
select rownum ,a.* from table a where rownum<11
order by to_char(rownum)
当我想基本上满足不了你的要求!你可以参考!