在開(kāi)發(fā)過(guò)程中,可能會(huì)用到oracle sequence語(yǔ)句,本文以oracle sequence語(yǔ)句如何重置進(jìn)行介紹,需要的朋友可以參考下
Oracle重置sequence語(yǔ)句1
Sql代碼
復(fù)制代碼 代碼如下:
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語(yǔ)句2
Sql代碼
復(fù)制代碼 代碼如下:
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;
您可能感興趣的文章:- 分享ORACLE SEQUENCE跳號(hào)總結(jié)
- 詳解ORACLE SEQUENCE用法
- Oracle中使用觸發(fā)器(trigger)和序列(sequence)模擬實(shí)現(xiàn)自增列實(shí)例
- sqlserver實(shí)現(xiàn)oracle的sequence方法
- Oracle創(chuàng)建自增字段--ORACLE SEQUENCE的簡(jiǎn)單使用介紹
- Hibernate Oracle sequence的使用技巧
- 通過(guò)實(shí)例了解Oracle序列Sequence使用方法