请教:动态创建oracle序列,使用时提示序列不
1个回答
展开全部
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 序列名';
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 序列名';
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询