gpt4 book ai didi

oracle - 如何使用循环更改 Oracle 序列?

转载 作者:行者123 更新时间:2023-12-04 16:23:47 27 4
gpt4 key购买 nike

希望有人能帮忙。当我尝试在表中插入一些东西时,它给我错误说主键已经存在。所以我需要重置我的序列,使其始终为 max(id)+1。

该表称为“人员”,有 2 列(ID、名称)。该序列称为 SEQ。

我正在考虑做一个循环。运行 select SEQ.nextval from dual n 次。这 n= max(id)-SEQ.currval

这会起作用吗?以及如何将其放入语法中?

非常感谢。

最佳答案

declare
l_MaxVal pls_integer;
l_Currval pls_integer default - 1;
begin
select max(id)
into l_MaxVal
from people;
while l_Currval < l_Maxval
loop
select my_seq.nextval
into l_Currval
from dual;
end loop;
end;

关于oracle - 如何使用循环更改 Oracle 序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5817545/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com