oracle如何修改序号 修改oracle序列号当前值

oracle批量修改序列方法

主键表 - T表 '100W'数据同步到T1表(同步:TRUNCATE/DELETE或IMPDP...等方式[手动改数据])

成都创新互联主营黄山网站建设的网络公司,主营网站建设方案,成都App制作,黄山h5小程序制作搭建,黄山网站营销推广欢迎黄山等地区企业咨询

例如: T表对应SEQ_T.NEXTVAL= 100W;

T1表对应SEQ_T.NEXTVAL= 10W;

TRUNCATE TABLE T1;

INSERT TABLE T1 SELECT * FROM T;

数据同步但T1表对应SEQ_T.NEXTVAL= 10W序列不变;

此时T1调用序列INSERT到T1表时就会报错 ( ORA-00001 : 违反唯一约束条件 (LOTTERY.PK_T1))

(若批量同步很多表就可能会引起很多表序列需要更新成主键最大值+ 1才能保证不报错

(可以用把源库的SEQUENCE同步过来①或者如下存储解决② ))

Oracle job 序号怎么重置

在oracle中,可以这样做:

1、建立一个存储过程proc_reset_seq负责将SEQUENCE重置,即drop再建立SEQUENCE;记得存储过程不能带任何参数。

2、再用有SYS.DBA_JOBS权限的用户执行:

declare v_jobname NUMBER;

sys.DBMS_JOB.SUBMIT(v_jobname,'proc_reset_seq;',TRUNC(SYSDATE + 1,'DD'),'TRUNC(SYSDATE+1,''DD'') ');

oracle 数据列序号重新排序问题

可以做到,对结果再一次分组呗,用分析函数,你这个第一行其实没有什么用,就是记录相同的第二列值是数以第几个,

select zaawdm ,

row_number() over(partition by zaawdm order by zaawdm ASC) XH

from table_name

这样就可以了,你的表列的名字起得太不规范了,看着都难受。


分享标题:oracle如何修改序号 修改oracle序列号当前值
URL分享:http://ybzwz.com/article/hhiecg.html