mysql 实现oracle 的sequences_Oracle 利用sequence实现递增

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

--创建存储过程

CREATE OR REPLACE Procedure insert_vsunusedmark

( VisaKindCode In varchar,StartSerialNo In Varchar,EndSerialNo In Varchar,NumInsert In Varchar,visapre In Varchar,visacode In Varchar,visaname In Varchar,pressbatchno In Varchar,businessno In Varchar,visaamount In NUMBER,usedate In DATE,usertype In Varchar,usercode In Varchar,username In Varchar,visastatus In Varchar,providetimes In NUMBER,recycletimes In NUMBER,verifiedcancelflag In Varchar,beforestatus In Varchar,remark In Varchar,flag In Varchar,comcode In Varchar,usedenddate In DATE,forcecalldays In Varchar,policypremium In NUMBER

) AS strsql varchar2(5000);

v_count int;

Begin

-- 判断sequence是否已存在,存在则删除重建

select count(1) into v_count from All_Sequences a where sequence_name = upper(VisaKindCode);

if v_count > 0 then

execute immediate 'drop sequence '||VisaKindCode;

end if;

-- Create sequence

strsql := 'create sequence '||VisaKindCode||'

minvalue '||StartSerialNo||'

maxvalue '||EndSerialNo||'

start with '||StartSerialNo||'

increment by 1

cache 20';

execute immediate strsql;

strsql :=

'insert into vsunusedmark

( visaserialno,visapre,visacode,visaname,pressbatchno,businessno,visaamount,usedate,usertype,usercode,username,visastatus,providetimes,recycletimes,verifiedcancelflag,beforestatus,remark,flag,comcode,usedenddate,forcecalldays,policypremium)

select '||VisaKindCode||'.NEXTVAL,'''||visapre||''','''||visacode||''','''||visaname||''','''||pressbatchno||''','''||businessno||''','''||visaamount||''','''||usedate||''','''||usertype||''','''||usercode||''','''||username||''','''||visastatus||''','''||providetimes||''','''||recycletimes||''','''||verifiedcancelflag||''','''||beforestatus||''','''||remark||''','''||flag||''','''||comcode||''','''||usedenddate||''','''||forcecalldays||''','''||policypremium||'''

from vsunusedmark v where rownum<='||NumInsert||'';

execute immediate strsql;

exception

WHEN OTHERS THEN

--发生异常,回滚

rollback;

Commit;

End insert_vsunusedmark;

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值