oracle序列修改语句

 

select ss.*,concat( concat( 'alter sequence '||ss.sequence_name||' increment by '||ss.incrementNum||';'||chr(10),
 'select '||ss.sequence_name||'.nextval from dual;'||chr(10)), 'alter sequence '||ss.sequence_name||' increment by '||ss.increment_by||';') as 序列更新需要执行的sql语句
 from 
(
-- 异常序列查询sql
select s.sequence_name,s.last_number,m.maxId,(m.maxId+1-s.last_number) incrementNum,s.increment_by from user_sequences s, 
(

  select 'SEQ_SYSTEM_ID'     as seqName,max(ID_SYSTEM) as maxId from  R_SYSTEM
  union  select 'SEQ_R_USER'                as seqName,max(ID_USER) as maxId from R_USER
  -- union  select '你的序列名'                as seqName,max(你使用该序列的主键) as maxId from R_USER

) m
where sequence_name=m.seqName  and s.last_number<=m.maxId
) ss;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值