欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 动态主键序列创建

程序员文章站 2022-04-25 11:01:29
...

1.要保留原始的数据时,避免主键重复。每次删除序列再重建是不是很较麻烦呢?那么用这个语句简单方便多了。 3个参数:order_sq是序列名。order是表名,内部的主键是id。 2.写完语句验证是否正确可以用pl/slq-新建-测试窗口,进行单步调试。谢谢。 Oracle drop

1.要保留原始的数据时,避免主键重复。每次删除序列再重建是不是很较麻烦呢?那么用这个语句简单方便多了。
3个参数:order_sq是序列名。order是表名,内部的主键是id。

2.写完语句验证是否正确可以用pl/slq->新建->测试窗口,进行单步调试。谢谢。
Oracle
drop sequence order;
declare
v_sql varchar2(1000);
v_num number(20):=1;
begin
v_sql:='create sequence order_sq';
select max(order_sq.id)+1 into v_num from order;
if v_num is null then v_num :=1;
end if;
v_sql:=v_sql||' minvalue 1 maxvalue 9999999999999999999999999999 start with '||v_num ||' increment by 1 cache 20';
execute immediate v_sql;
end;
Oracle 动态主键序列创建