修改sequenc number

简介: create or replace procedure CHANGE_SEQ_NUMBER( PI_SEQ_OWNER VARCHAR2 , PI_SEQNAME VARCHAR2 , PI_LAST_NUMBER NUMBER) IS V_LastValue integer; V_incr...

create or replace procedure CHANGE_SEQ_NUMBER( PI_SEQ_OWNER VARCHAR2 , PI_SEQNAME VARCHAR2 , PI_LAST_NUMBER NUMBER) IS
V_LastValue integer;
V_increment_by integer;
V_cache_size integer;
V_last_number integer;
V_SQL VARCHAR2(2000) ;
BEGIN
SELECT DP.increment_by , DP.cache_size , DP.last_number
INTO V_increment_by , V_cache_size , V_last_number
FROM dba_sequences DP WHERE DP.sequence_owner = PI_SEQ_OWNER AND DP.sequence_name =PI_SEQNAME ;
IF PI_LAST_NUMBER > V_last_number THEN
V_SQL:= ' alter sequence '||PI_SEQ_OWNER||'.'||PI_SEQNAME||' increment by ' ||( PI_LAST_NUMBER-V_last_number )||' nocache ';
EXECUTE IMMEDIATE V_SQL ;

V_SQL:= ' select '||PI_SEQ_OWNER||'.'||PI_SEQNAME||'.nextval from dual ' ;
EXECUTE IMMEDIATE V_SQL INTO V_LastValue ;

V_SQL:= ' alter sequence '||PI_SEQ_OWNER||'.'||PI_SEQNAME||' increment by 1 nocache ';
EXECUTE IMMEDIATE V_SQL ;

LOOP

 V_SQL:= ' select '||PI_SEQ_OWNER||'.'||PI_SEQNAME||'.currval  from dual ' ;
 EXECUTE IMMEDIATE V_SQL INTO V_LastValue ;
 
 exit when V_LastValue >= PI_LAST_NUMBER - 1;
 
 V_SQL:= ' select '||PI_SEQ_OWNER||'.'||PI_SEQNAME||'.nextval  from dual ' ;
 EXECUTE IMMEDIATE V_SQL INTO V_LastValue ;

END LOOP ;

IF V_cache_size >1 THEN
 V_SQL:= ' alter sequence '||PI_SEQ_OWNER||'.'||PI_SEQNAME||' increment by ' ||V_increment_by||' cache '||V_cache_size ;
ELSE
 V_SQL:= ' alter sequence '||PI_SEQ_OWNER||'.'||PI_SEQNAME||' increment by ' ||V_increment_by||' nocache ' ;
END IF;
 EXECUTE IMMEDIATE V_SQL  ;

END IF ;
END;

目录
相关文章
|
开发工具 芯片 Perl
ZYNQ_SDK MIO控制LED
ZYNQ_SDK MIO控制LED
|
算法 中间件 API
使用漏桶和令牌桶实现API速率限制
本文介绍如何在 Go 语言的 Gin 框架中使用漏桶算法和令牌桶算法实现 API 限流,以保护系统资源,防止过载和恶意攻击,确保服务稳定。通过具体代码示例展示了两种算法的应用方法。
294 2
|
存储 前端开发 安全
Nuxt3 实战 (十):使用 Supabase 实现 RESTful 风格 API 接口
这篇文章介绍了如何使用Supabase实现RESTful风格的API接口,用于网站分类和子站点的增删改查(CURD)功能。文章首先阐述了表设计,包括ds_categorys和ds_websites两张表的列名、类型和用途,并提到了为每张表添加的user_id和email字段以支持用户身份识别。接着,文章描述了接口设计,以ds_websites表为例,说明了如何通过RESTful API实现CURD功能,并给出了使用SupabaseClient实现插入数据的相关代码。文章最后提供了项目效果预览和总结,指出学习了Nuxt3创建接口及调用Supabase数据库操作。
472 0
Nuxt3 实战 (十):使用 Supabase 实现 RESTful 风格 API 接口
|
监控 Linux 测试技术
edac是检测什么的,和centos内存条损害检测工具
【6月更文挑战第1天】edac是检测什么的,和centos内存条损害检测工具
835 2
|
云安全 关系型数据库 MySQL
Deepin安装docker使用mysql
Deepin安装docker使用mysql
590 0
|
机器学习/深度学习 Shell Linux
linux shell脚本判断文件或文件夹是否存在循环操作
linux shell脚本判断文件或文件夹是否存在循环操作
679 0
|
算法 网络协议 Linux
视频传输中QoS(Quality of Service)质量保证参数
视频传输中QoS(Quality of Service)质量保证参数
509 0
|
存储 监控 安全
基于日志审计服务解读网络数据时代新安全
《网络安全法》、《数据安全法》及《等保2.0》为网络时代数字化经济的安全健康发展提供了有力支撑,也对企业数字安全管理提出了更高要求。日志审计App可视、可控、可溯的日志全生命周期安全保护方案及阿里云各类云安全服务,全方位地帮助守护企业云上资产及数据安全,保障数字经济产业的健全发展。
基于日志审计服务解读网络数据时代新安全
|
安全 Unix Linux
[CTF/网络安全] 攻防世界 php_rce 解题详析
PHP REC ThinkPHP V5漏洞Payload 姿势 总结
640 0
|
SQL JavaScript 前端开发
阿萨聊测试 ZAP4:如何用ZAP 做Fuzz测试?
大家好,我是阿萨。昨天解决了HTTPS的证书问题,大部分网站都可以扫描了。Web 网站扫描报告的导出,也是那么的像模像样了,开发也不需要找你。只需要看下修复建议,就大概知道如何修复了。
698 0
阿萨聊测试 ZAP4:如何用ZAP 做Fuzz测试?

热门文章

最新文章