1、首先要保证该数据库用户有删除序列和新建序列的权限,存储过程中这个权限要显示赋权:
grant
create
sequence
to
数据库用户;
grant
drop
any
sequence
to
数据库用户;
2、存储过程中创建序列和删除序列:
创建序列:
execute
immediate
'create
sequence
序列名'
||
chr(10)
||
'minvalue
1'
||
chr(10)
||
'maxvalue
999999999999999999999999999'
||
chr(10)
||
'start
with
1'
||
chr(10)
||
'increment
by
1'
||
chr(10)
||
'cache
20';
删除序列:
execute
immediate
'drop
sequence
序列名';
create sequence seq2
NOMAXVALU
start with 1
increment by 1;
1创建序列
ORACLE序列的语法格式为:
CREATE SEQUENCE 序列名
[INCREMENT BY n]
[START WITH n]
[{MAXVALUE/ MINVALUE n|NOMAXVALUE}]
[{CYCLE|NOCYCLE}]
[{CACHE n|NOCACHE}];
参考自:>
使用比较灵活,就是一个计数器,被查询一次nextval就自加(可以正数或者负数),并且可以被cache到内存中,防止热点问题。
缺点是需要人工干预,不想sqlserver那样有一个数据库系统内部维护的自加列。
以上就是关于如何在oracle存储过程中drop 序列和新建序列全部的内容,包括:如何在oracle存储过程中drop 序列和新建序列、Oracle数据库,创建一个序列,怎么设定该最大值无限制小为 1、oracle序列 的优缺点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)