Oracle 利用sequence实现递增
发布时间:2020-12-11 23:20:14 所属栏目:MySql教程 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 --创建存储过程 CREATE OR REPLACE Procedure insert_vsunusedmark ( VisaKindCode In varchar,StartSerialNo In Varchar,EndSerialNo In Varchar,Num
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 --创建存储过程 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; 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- MYSQL教程mysql编码与字符集的查看设置方法
- Mysql实例MySQL性能分析工具profile使用教程
- MySQL6:触发器
- Mysql必读mysql server has gone away的解决方法
- 从DataReader访问DateTime字段时出现c# – MySqlConversio
- MYSQL数据库一次Mysql死锁排查过程的全纪录
- PHP和MySQL之间的周差异
- java – Nifi“PutSQL”超出范围的例外
- mysql – QueryException SQLSTATE [HY000] [1045]拒绝访
- Mysql入门CentOS 6.5下yum安装 MySQL-5.5全过程图文教程