Oracle 重置序列
2024-10-19 17:25:56
Oracle将自增sequence重置为初始值1时,若是删除再重建,那么依赖它的函数和存储过程将失效,需要重新编译。 这里利用相反的过程,利用负值步长参数,将递增值改为(sequence.NEXTVAL-1),然后再改回来。 假设需要修改的序列名:seq_name 1、select seq_name.nextval from dual; //假设得到结果5656 2、alter sequence seq_name increment by -5655; //注意是-(n-1) 3、select seq_name.nextval from dual;//再查一遍,走一下,重置为1了 4、alter sequence seq_name increment by 1;//还原 以下是存储过程,传入序列名称: CREATE OR REPLACE PROCEDURE SEQ_RESET(V_SEQNAME VARCHAR2) AS
N NUMBER(10);
TSQL VARCHAR2(100);
BEGIN
EXECUTE IMMEDIATE 'select ' || V_SEQNAME || '.nextval from dual'
INTO N;
N := - (N - 1);
TSQL := 'alter sequence ' || V_SEQNAME || ' increment by ' || N;
EXECUTE IMMEDIATE TSQL;
EXECUTE IMMEDIATE 'select ' || V_SEQNAME || '.nextval from dual'
INTO N;
TSQL := 'alter sequence ' || V_SEQNAME || ' increment by 1';
EXECUTE IMMEDIATE TSQL;
END SEQ_RESET;
最新文章
- ASP.NET MVC——URL路由
- MySQL生成模型
- silverLight--绑定数据dataGrid
- 命令行中mysql乱码问题
- PHP、Java对称加密中的AES加密方法
- 修改dll版本号处理未能加载“******”,或找不到动态链接库依赖的项
- LIS(nlogn) POJ 3903 Stock Exchange
- 使用ProxychainsMac下安装及配置
- the error code is 2203
- 给label绘制下划线
- CTG
- scribe、chukwa、kafka、flume日志系统对比 -摘自网络
- 荷兰国旗,三类数字分离 nyoj
- 关于C++中Object所占内存空间探索1
- 大整数相乘问题总结以及Java实现
- Python之 Virtualenv简明教程
- 深度学习框架比较TensorFlow、Theano、Caffe、SciKit-learn、Keras
- Makefile入门
- linux学习笔记-解决google-chrome打开后弹出输入密码以解锁您的登录密钥环的提示
- 断开所有的SMB连接的批处理
热门文章
- 安装ubuntu配置ssh
- CCAction详解
- 用 gdb 调试 GCC 程序【转】
- bootstrapValidator 版本差异问题导致的submitHandler失效问题
- JavaScript 开发者的 10 款必备工具
- 牛客nowcoder Noip提高组第四场
- 值得收藏:一份非常完整的MySQL规范
- 【OpenJudge3531】【背包DP】【膜法交配律】判断整除
- ";library not found for - ";解决办法
- IOS调用WCF提供的服务方法,但是方法的参数是WCF那边自定义的对象,这样有办法调用么,如果可以IOS应该怎么传参呢?请问有了解的么,