数据库|mysql教程
存储,信息
数据库-mysql教程
view plaincopy to clipboardprint?
drop procedure if exists pro_rep_shadow_rs;
delimiter |
———————————-
— rep_shadow_rs
— 用来处理信息的增加,更新和删除
— 每次只更新上次以来没有做过的数据
— 根据不同的标志位
— 需要一个输出的参数,
— 如果返回为0,则调用失败,事务回滚
— 如果返回为1,调用成功,事务提交
—
— 测试方法
— call pro_rep_shadow_rs(@rtn);
— select @rtn;
———————————-
create procedure pro_rep_shadow_rs(out rtn int)
begin
— 声明变量,所有的声明必须在非声明的语句前面
declare iLast_rep_sync_id int default -1;
declare iMax_rep_sync_id int default -1;
— 如果出现异常,或自动处理并rollback,但不再通知调用方了
— 如果希望应用获得异常,需要将下面这一句,以及启动事务和提交事务的语句全部去掉
declare exit handler for sqlexception rollback;
— 查找上一次的
select eid into iLast_rep_sync_id from rep_de_proc_log where tbl=’rep_shadow_rs’;
— 如果不存在,则增加一行
if iLast_rep_sync_id=-1 then
insert into rep_de_proc_log(rid,eid,tbl) values(0,0,’rep_shadow_rs’);
set iLast_rep_sync_id = 0;
end if;
手机wap游戏源码,vscode繁体转简体,ubuntu粉屏,运行tomcat镜像命令,sqlite3数据库结构,网络爬虫面临的问题解决方法,php 数组 count,江苏seo优化智能系统,手机网站引导页,wordpress商业模板lzw
— 下一个数字
set iLast_rep_sync_id=iLast_rep_sync_id+1;
— 设置默认的返回值为0:失败
set rtn=0;
转发文章赚钱源码,vscode创建运行指令,ubuntu ba sh,nfs挂载tomcat目录,sqlite如何向表中添加数据,爬虫创建,php结束for循环,龙岩seo优化推广公司,dnf辅助dll文件网站,html5全屏动画模板lzw
— 启动事务
start transaction;
— 查找最大编号
select max(rep_sync_id) into iMax_rep_sync_id from rep_shadow_rs;
— 有新数据
if iMax_rep_sync_id>=iLast_rep_sync_id then
— 调用
call pro_rep_shadow_rs_do(iLast_rep_sync_id,iMax_rep_sync_id);
— 更新日志
update rep_de_proc_log set rid=iLast_rep_sync_id,eid=iMax_rep_sync_id where tbl=’rep_shadow_rs’;
end if;
打印预览源码,vscode开发环境设置,ubuntu 搭建ftp,tomcat未响应,sqlite 电脑,dw实物网页设计模板,asp数据库视频教程,1元购买永久vps服务器,手机web 视频插件,互联网前端热门框架有哪些,爬虫螽斯,php入口文件,贵阳seo外包,索引库springboot,dede sql标签调用变量,jsp 网站 源代码,网页 转 pdf js,编码转换易语言模板,中文响应式后台模板,页面跳转滑动效果,管理系统asp源代码,易语言写繁体系统程序lzw
— 运行没有异常,提交事务
commit;
— 设置返回值为1
set rtn=1;
end;
|
delimiter ;
drop procedure if exists pro_rep_shadow_rs_do;
delimiter |
———————————
— 处理指定编号范围内的数据
— 需要输入2个参数
— last_rep_sync_id 是编号的最小值
— max_rep_sync_id 是编号的最大值
— 无返回值
如果觉得《MySQL存储过程例子 包含事务 参数 嵌套调用 游标 循环等【MySQL】》对你有帮助,请点赞、收藏,并留下你的观点哦!