`
zhao103804
  • 浏览: 121065 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

序列修改初始值

 
阅读更多

                                              序列

       关于序列问题,这里吐槽一下,数据库的设计,主键ID用序列自增长时,就不要用主键ID还用来做业务,比如部门和员工之间的关系,ID来做关联,如果用这个字段关联,会导致以后程序带来很多麻烦,比如现在业务需求是备份还原数据,当将数据导入到数据库时,当再次插入时,序列值还处在原来的值,而数据中已经有了该值,这会导致插入数据时报缺少唯一性约束。建议在设计时,将ID只是作为自增长列,关于两表关联的字段重新设置一列。或者ID可用UUID来标识,方便以后还原时对业务没有影响。在此,我只能将序列做处理。

 

     在此做数据备份还原时,则需要将所有表序列的初始值改成数据中ID中最大的一个值。由于在Oracle Db中,修改序列没有这样的语法。没有这样的语法情况怎么办,有二种方法可以完成——

        1.先删除序列,然后重新创建。这个方法比较方便。

        2.通过Increment By来实现修改初始值。

            例如:若序列名称是SeqTest2010_S,初始值是13,而现在要设置初始值为1020,Increment By值为:1007(1020-13)

            2.1 执行:Alter Sequence SeqTest2010_S Increment By 1007;

            2.2 执行:Select SeqTest2010_S.NextVal From Dual;

            2.3 执行:Alter Sequence SeqTest2010_S Increment By 1;

            修改完成。

      还有一个问题是需要将所有表的序列的初始值改变,对于公司几十张表或则几百张表的数据来说,不可能用手动去改,目前想到的可以用存储过程来对表中的序列做改动,但

oracle序列和表名没直接对应关系的

dba_sequences可以查询到有哪些序列
一般命名规则是:表名_s,看看有没有 有的话直接拿去用,否则我也没好的想法去得到表和序列之间的关系
      存储过程还是想法,目前还在考虑。有解决方案会尽快传上来。

分享到:
评论

相关推荐

    SQL Server 中调整自增字段的当前初始值

    SQL Server 中调整自增字段的当前初始值

    leetcode信封-Algorithms--:算法--

    给定一个序列/字符串,进行一些操作,最后一步会将序列/字符串去头/去尾,剩下的会是一个区间[i,j], 状态自然定义为f[i][j],表示面对子序列[i,...j]时的最优性质。 按照长度j-i从小到大的顺序去算 leetcode Coins ...

    laravel-eloquent-sequencer:一个允许您在口才模型上创建和管理序列的程序包

    Laravel雄辩的音序器 该软件包使您可以创建和管理...您可以在config/eloquentsequencer.php更改默认列名,初始值和排序策略: return [ 'column_name' => 'position' , 'initial_value' => 1 , 'strategy' => 'alw

    数据结构题

    21.设一组初始记录关键字序列为(345,253,674,924,627),则用基数排序需要进行( )趟的分配和回收才能使得初始关键字序列变成有序序列。 (A) 3 (B) 4 (C) 5 (D) 8 22.设用链表作为栈的存储结构则退栈操作( ...

    使用纠缠的斐波那契序列螺旋源的可控量子私人查询

    通过在Simon等人(2013年)的实验装置中更改纠缠的斐波那契数列螺旋源中的初始值[13] ,我们提出了一种可控的量子私有查询协议。 此外,由于以下观察,我们的协议实现了灵活的密钥扩展,甚至在通信过程中展现了安全...

    fitExponential.m:以单指数曲线的形式拟合:yFit = yInf + (y0-yInf) * exp(-k*(x-x0))-matlab开发

    % 这里 yInf 是拟合的稳态值,y0 是拟合的初始值% 值,k 是衰减的拟合速率常数。 最小均方% fit 用于估计参数。 % % 输出: % * k:松弛率% * yInf:最终稳态% * y0:初始状态% * yFit:拟合时间序列% % 最后修改于...

    powercenter学习笔记(自己整理)精

    根据文件夹初始化序列,初始为1 MAPPING中修改设置变量,只会在下一次启动MAPPING时有效,他不能影响当前SESSSION中的值 Update Strategy Expression 使用DD_UPDATE失效问题 元数据库检索ETL异常错误SQL

    适用于电气分析的快速Fourier变换函数

    函数CFFT用以进行电气分析的快速Fourier变换,并将输出量转化成适合于电气信号分析的幅值——角度值相位形式,函数中的某些关键参数可以进行调整修改。 输入变量或参数名称: u:输入的时间序列信号(矩阵形式,...

    matlab fft计算

    % 将x倒序排列作为y的初始值 for mm=1:m % 将DFT作m次基2分解,从左到右,对每次分解作DFT运算,共做m级蝶形运算,每一级都有2^(mm-1)个蝶形结 Nz=2^mm;u=1; % 旋转因子u初始化为WN^0=1 WN=exp(-i*2*pi/Nz); % 本次...

    王双汇编语言答案 关于课后答案

    初始值→ 2000H 0000 1000H 0 0 mov ax,6622h 2000H 0003 1000H 6622H 0000 jmp 0ff0:0100 1000H 0000 1000H 6622H 0000 mov ax,2000h 1000H 0003 1000H 2000H 0000 mov ds,ax 1000H 0005 2000H 2000H 0000 mov...

    论文研究-改进的分块算法在矩形图像加密中的应用.pdf

    该算法通过对外部密钥分组生成Logistic映射初始条件并迭代生成混沌序列, 有效增强了密钥的敏感性。提出三向散布并结合像素值替代算法能够明显增强算法抵御差分攻击的能力; 同时为增强算法的鲁棒性, 采用反馈机制修改...

    R语言经典实例(中+英)

     5.25 修改数据框的列名 145  5.26 编辑数据框 146  5.27 从数据框中移除NA值 148  5.28 根据名称排除列 149  5.29 合并两个数据框 150  5.30 根据共有列合并数据框 151  5.31 更便捷地访问数据框内容 152  ...

    java算法大全源码包.zip

    一个结点由数据的值和下一个数据的地址组成。一个链表内的数据类型可以是多种多样的。数组也是用来存储数据的,与链表相比,需要初始化时确定长度。一个数组内的数据都是同一类型。在Java中,ArrayList是通过数组...

    排列熵matlab程序代码-libordpat:libordpat-从时间序列中提取序数模式的库

    [1],一个跨平台软件库,用于从时间序列中提取和编码序数模式 [2]。 它已成功测试可在Windows 、 macOS和GNU/Linux 上运行。 如果出现这种需求,它也可以轻松移植到其他平台。 除了作为 C 函数库之外, libordpat还...

    基于NER的文本纠错项目python源码+使用说明+数据+模型.zip

    即可训练以及评估模型,评估模型将会打印出模型的精确率、召回率、F1分数值以及混淆矩阵,如果想要修改相关模型参数或者是训练参数,可以在`./models/config.py`文件中进行设置。 训练完毕之后,如果想要加载并评估...

    Python Cookbook

    6.18 用_ _init_ _参数自动初始化实例变量 266 6.19 调用超类的_ _init_ _方法 267 6.20 精确和安全地使用协作的超类调用 270 第7章 持久化和数据库 273 引言 273 7.1 使用marshal模块序列化数据 275 7.2 ...

    基于贪心、迭代实现的生物遗传物质切割算法python源码+项目说明.zip

    #### 尝试更改 1. 使用整条gene的tm当做开始(不行,tm与第一次切割得到的tm相差太大) * 当前使用直接使用第一个与第二个最接近的当做开始,然后使用第一次切割得到的均值当做第二次切割的开始 2. 从后面开始或者从...

    delphi生成随机数

    这样,就可以生成许多比较随机的数,但同一个初始值的随机种子将会生成完全相同的随机数列。 Pascal的System单元提供了两个与随机数有关的子程序:Randomize和Random。 Randomize过程用于初始化随机种子,其初始值...

    维特比译码matlab代码-Wireless-Network:Matlab的

    维特比解码matlab代码无线网络 Matlab项目:matlab中的Viterbi算法 目标:使用维特比算法解码卷积编码的数据。...如果初始序列和解码序列不匹配,那么我们将不断更改x的值,直到产生正确的结果为止。

Global site tag (gtag.js) - Google Analytics