重置Oracle SEQUENCE值 的存储过程
2016-06-14 16:48
465 查看
CREATE OR REPLACE PROCEDURE SEQ_RESET_ID AS
N NUMBER(10);
T_SQL VARCHAR2(100);
BEGIN
EXECUTE IMMEDIATE 'ALTER SEQUENCE SEQ_PORT_ID MINVALUE 0';
EXECUTE IMMEDIATE 'SELECT SEQ_PORT_ID.NEXTVAL FROM DUAL' INTO N;
N := - (n - 0);
T_SQL := 'ALTER SEQUENCE SEQ_PORT_ID INCREMENT BY ' || N;
EXECUTE IMMEDIATE T_SQL;
EXECUTE IMMEDIATE 'SELECT SEQ_PORT_ID.NEXTVAL FROM DUAL' INTO N;
T_SQL := 'ALTER SEQUENCE SEQ_PORT_ID INCREMENT BY 1';
EXECUTE IMMEDIATE T_SQL;
END SEQ_RESET_ID;
SEQ_PORT_ID为SEQUENCE的名称
N NUMBER(10);
T_SQL VARCHAR2(100);
BEGIN
EXECUTE IMMEDIATE 'ALTER SEQUENCE SEQ_PORT_ID MINVALUE 0';
EXECUTE IMMEDIATE 'SELECT SEQ_PORT_ID.NEXTVAL FROM DUAL' INTO N;
N := - (n - 0);
T_SQL := 'ALTER SEQUENCE SEQ_PORT_ID INCREMENT BY ' || N;
EXECUTE IMMEDIATE T_SQL;
EXECUTE IMMEDIATE 'SELECT SEQ_PORT_ID.NEXTVAL FROM DUAL' INTO N;
T_SQL := 'ALTER SEQUENCE SEQ_PORT_ID INCREMENT BY 1';
EXECUTE IMMEDIATE T_SQL;
END SEQ_RESET_ID;
SEQ_PORT_ID为SEQUENCE的名称
相关文章推荐
- MySQL存储过程
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- Oracle 10g R2不能使用EM的问题
- 表空间操作
- PreparedStatement中in子句的处理
- VMware下RedHat4.8_64位安装Oracle 10g RAC--简略脚本
- oracle sql日期比较
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- OS block size和Oracle block size,查找OS Blocksize的方法
- oracle中创建数据库和表空间的几点总结
- 数据库自动备份脚本
- ASP程序与SQL存储过程结合使用详解
- oracle的nvl函数的使用介绍
- 解决oracle用户连接失败的解决方法
- oracle的一些tips技巧
- Oracle 下的开发日积月累
- Oracle存储过程之数据库中获取数据实例