在國產達夢數據庫和oracle數據庫中使用sql如下
update
(select *, row_number() over(order by menu_sequence) rowno from sys_menu_system where menu_pid='018cab4cc7768c1651b640571d70aaf4' order by menu_sequence)
set menu_sequence = rowno
在國產數據庫 虛谷中有所不同,上述sql不能使用,使用如下sql
declare
begin
for i in ( select *, row_number() over(order by menu_sequence) `rowno` from sys_menu_system where menu_pid='018cab4cc7768c1651b640571d70aaf4' order by menu_sequence ) loop
update sys_menu_system set menu_sequence = i.`rowno` where id = i.id;
end loop;
end;