Oracle怎么修改一部分序列值为指定的值
Oracle怎么修改一部分序列值为指定的值?譬如where指定序列再某个区间,修改这部分记录id为我指定的一个区间...
Oracle怎么修改一部分序列值为指定的值?譬如where指定序列再某个区间,修改这部分记录id为我指定的一个区间
展开
1个回答
展开全部
根据我自己的经验,oracle的序列是不认自己填写的数字的,所以想要这么操作只能先删除序列才可以。
如果是修改的话,要删除序列才能修改,也就是数艘要分三步操作
(1)删除序列(把语句复制下来),可是也要复制触发器的语句(当然重新编译一下触发器也可以,这样会让触发器无效)
(2)修改序号(至于你说的修改为指定区间,这个简单,比如你要把1-20,改为50001-50020,那么就是id+50000即可,只要where中限定范围就可以了。)
(3)重建序列,并重新设定起始值(至少设定为新的最大值+1),别忘了相关触发器
如果是修改的话,要删除序列才能修改,也就是数艘要分三步操作
(1)删除序列(把语句复制下来),可是也要复制触发器的语句(当然重新编译一下触发器也可以,这样会让触发器无效)
(2)修改序号(至于你说的修改为指定区间,这个简单,比如你要把1-20,改为50001-50020,那么就是id+50000即可,只要where中限定范围就可以了。)
(3)重建序列,并重新设定起始值(至少设定为新的最大值+1),别忘了相关触发器
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询