插入一条数据排名为1的数据,之前表里数据1变成2,2,变成3类推、插入2,之前表里2变3,3变4类推,这个功能可以实现吗
可以使用触发器,在插入之前判断,把大于等于插入排名的依次加+1,创建好之后直接插入数据就会自动触发,不需要其他操作
create or replace trigger TRI_add
before insert on b
for each row
declare
begin
update b set b.num=b.num+1 where b.num>:new.num or b.num=:new.num ;
end TRI_add;
可以使用lag lead函数