您正在使用 IPV4 [3.138.102.178] 访问本站,您本次已经查看了 1 页
用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器
[公益]保护绿色环境,构建和谐社会       悟空收录网      

【腾讯云】 爆款2核2G3M云服务器首年 61元,叠加红包再享折上折      
[公益] 地球是我家,绿化靠大家      
2024年 劳动节 013
2024年 端午节 053
2025年 元 旦 258
2025年 春 节 286
 
您现在的位置:首页 >> 数据库 >> 内容
本类新增
本类热门
oracle重置序列从0开始递增1
内容摘要: oracle序列创建以后,如果想重置序列从0开始,逐渐递增1,可以采用如下存储过程:createorreplaceprocedurereset_seq(p_seq_nameinvarchar2)isl_valnumber;beginexecuteimmediate'select'||p_seq_name||'.nextvalfromdual'INTOl_va......
oracle序列创建以后,如果想重置序列从0开始,逐渐递增1,可以采用如下存储过程:

createorreplace

procedurereset_seq(p_seq_nameinvarchar2)

is

l_valnumber;

begin

executeimmediate

'select'||p_seq_name||'.nextvalfromdual'INTOl_val;

executeimmediate

'altersequence'||p_seq_name||'incrementby-'||l_val||

'minvalue0';

executeimmediate

'select'||p_seq_name||'.nextvalfromdual'INTOl_val;

executeimmediate

'altersequence'||p_seq_name||'incrementby1minvalue0';

end;

存储过程创建以后,调用该存储过程,参数是要重置的序列名称:

callreset_seq(‘test_seq’);

使用下面的SQL语句查询需要重置的序列:

SELECTa.sequence_name序列名称,

a.min_value序列最小值,

to_char(to_number(a.max_value))序列最大值,

a.last_number序列当前值,

CASEa.last_numberWHEN1THEN'--不需要重置;'ELSE

'CALLseq_reset('''||a.sequence_name||''');'END重置序列脚本,

'DROPSEQUENCE'||a.sequence_name删除序列脚本,

'RENAME'||a.sequence_name||'TO{newname}'重命名脚本

FROMUSER_SEQUENCESaWHEREa.last_number<>1

ORDERBYa.sequence_nameASC;

版权声明:本内容来源于互联网,如有侵犯您的版权,请联系站长,本站收到您的信息后将及时处理。
上一篇:MySQL 搭建主从同步实现操作

 

下一篇:oracle 重置sys密码的方法介绍

发布日期:2022/2/28
手机扫二维码直达本页
发布时间:12:33:37
点  击:1
录  入:壹家怡园
相关文章
Baidu
YiJiaCMS 7.3.8 build231228(MSSQL) 闽ICP备05000814号-1
本空间由腾讯云(轻量应用服务器)提供,Cloudflare提供加速防护
运行时间载入中.....