Oracle 动态主键序列创建

WBOY
WBOYオリジナル
2016-06-07 14:57:541582ブラウズ

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 动态主键序列创建
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。