1.动态创建自动增长的序列:
declare
v_sql varchar2(1000);
v_num number(20):=1;
begin
v_sql:='create sequence sqbs ';
select max(sqb.id)+1 into v_num from sqb;
if v_num is null then v_num :=1;
v_sql:=v_sql||' maxvalue 999999 start with '||v_num ||' increment by 1 nocache';
end if;
execute immediate v_sql;
end;
2--创建序列
create sequence t
v_sql varchar2(1000);
v_num number(20):=1;
begin
v_sql:='create sequence sqbs ';
select max(sqb.id)+1 into v_num from sqb;
if v_num is null then v_num :=1;
v_sql:=v_sql||' maxvalue 999999 start with '||v_num ||' increment by 1 nocache';
end if;
execute immediate v_sql;
end;
2--创建序列
create sequence t
--使用序列
select t.nextval from dual --获取下一个序列值
select t.currval from dual --获取当前序列值
drop sequence g --删除序列
alter sequence ttt increment by -3--修改序列
select t.nextval from dual --获取下一个序列值
select t.currval from dual --获取当前序列值
drop sequence g --删除序列
alter sequence ttt increment by -3--修改序列
本文深入探讨了SQL中序列(sequence)的概念及其应用,包括如何动态创建自动增长的序列,如何获取序列的下一个值和当前值,以及序列的删除与修改。通过示例代码展示了创建序列、使用序列的nextval和currval函数,以及如何管理和调整序列的属性。
1148

被折叠的 条评论
为什么被折叠?



