服务器之家

服务器之家 > 正文

oracle sequence语句重置方介绍

时间:2019-11-14 18:49     来源/作者:oracle教程网

在开发过程中,可能会用到oracle sequence语句,本文以oracle sequence语句如何重置进行介绍,需要的朋友可以参考下
Oracle重置sequence语句1 
Sql代码 

复制代码代码如下:


DECLARE 
n NUMBER(10 ); 
tsql VARCHAR2(100 ); 
p_seqName varchar2(20 ); 
BEGIN 
p_seqName := 'SEQ_RUN_ID'; 
EXECUTE IMMEDIATE 'SELECT ' || p_seqName || '.NEXTVAL FROM dual ' INTO n; 
n := - (n - 1); 
tsql := 'alter sequence '|| p_seqName ||' increment by ' || n; 
EXECUTE IMMEDIATE tsql; 
EXECUTE IMMEDIATE 'SELECT ' || p_seqName || '.NEXTVAL FROM dual ' INTO n; 
tsql := 'alter sequence '|| p_seqName ||' increment by 1' ; 
EXECUTE IMMEDIATE tsql; 
EXCEPTION 
WHEN OTHERS THEN 
dbms_output.put_line( SQLERRM); 
END; 


Oracle重置sequence语句2 
Sql代码 

复制代码代码如下:


CREATE OR REPLACE PROCEDURE RESET_SEQUENCE(p_sSeqName IN VARCHAR2) 
IS 
n NUMBER(10 ); 
tsql VARCHAR2(100 ); 
BEGIN 
EXECUTE IMMEDIATE 'SELECT ' || p_sSeqName || '.NEXTVAL FROM dual ' 
INTO n; 
n := - (n - 1); 
tsql := 'alter sequence ' || p_sSeqName || ' increment by ' || n; 
EXECUTE IMMEDIATE tsql; 
EXECUTE IMMEDIATE 'SELECT ' || p_sSeqName || '.NEXTVAL FROM dual ' 
INTO n; 
tsql := 'alter sequence ' || p_sSeqName || ' increment by 1' ; 
EXECUTE IMMEDIATE tsql; 
EXCEPTION WHEN OTHERS THEN 
NULL; 
END RESET_SEQUENCE; 

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
运维必须知道的关于云服务器的十个问题
运维必须知道的关于云服务器的十个问题 2019-05-24
返回顶部