mysql存储过程中使用事件
来源:互联网 发布:淘宝国际转运服务 编辑:程序博客网 时间:2024/06/14 05:17
CREATE DEFINER=`root`@`localhost` PROCEDURE `createBusiness`(parameter1 int)BEGIN #Routine body goes here... DECLARE flag int DEFAULT parameter1;#声明变量flag,将参数值赋给该变量 DECLARE uuidStr VARCHAR(32);#声明一个长度为32位的字符串 DECLARE currentTime TIMESTAMP;#声明一个类型为时间戳的变量 declare err INT default 0;#声明一个整形变量err,默认值是0 declare continue handler for sqlexception set err=1;#当sqlexception handler捕捉到异常时,设置err=1 START TRANSACTION;#开始事务 WHILE flag>0 DO #注意: while不能空实现(在while块中,里面必须有语句) #uuid()函数得到的字符串是'6ccd780c-baba-1026-9564-0040f4311e29',剔除里面的-,得到一个32位的字符串 SET uuidStr = REPLACE(UUID(),'-','') ; #得到当前的时间 SET currentTime = CURRENT_TIMESTAMP(); #执行插入语句,注意连接字符串的函数concat(str1,str2,...);其中str..也可以是数字类型 INSERT INTO 表名称 (id,title,keyword,hasImage,isTodayHead,isShowInHome,isBigness,publishTime,originId,modify_time,isAnalysis) VALUE (uuidStr,CONCAT('事件标题',flag),CONCAT('关键字',flag),1,1,0,0,currentTime,CONCAT('xxxxxxx',flag),currentTime,1); #每循环一次,flag要减去1,注意没有flag--的语法 set flag = flag-1; #在这里测试当err=1时,事务是否有了回滚,测试ok #IF flag=7 THEN #注意在procedure中给变量赋值要用到set,或在变量声明时用default来父子,所以=号可以用来比较两边的值是否相等,<=>也可,区别先不去纠结。 #set err=1; #END if; END WHILE; IF (err=0) THEN commit; select 'OK'; ELSE rollback; select 'err'; END IF;END;
0 0
- mysql存储过程中使用事件
- mysql 中使用存储过程
- mysql 中使用存储过程
- mysql 中使用存储过程
- mysql中使用事件和存储过程进行定时业务的执行
- mysql存储过程中使用临时表
- MySQL中使用存储过程(整理)
- MySQL存储过程中使用事务
- mysql 存储过程中使用while循环
- MYSQL存储过程中 使用变量 做表名
- Mysql存储过程中使用临时表
- mysql 存储过程中使用多游标
- Mysql存储过程中使用cursor
- mysql存储过程中使用临时表
- mysql存储过程中使用事务
- MySQL存储过程中使用动态行转列
- mysql存储过程中使用事务
- mysql 存储过程中使用多游标
- CSS学习笔记(八) 页面布局之三栏-固定宽度布局
- 九个Web开发者必备的软技能
- 使用 Google V8 引擎开发可定制的应用程序
- openSession和getCurrentSession的比较
- Wireshark工具创建过滤器的方式ARP协议全面实战手册
- mysql存储过程中使用事件
- CSS学习笔记(六) 元素定位
- ruby 或者rails 把string 转换成类
- LitePal学习总结 (七)
- CSS编码规范
- 黑马程序员_java多线程学习笔记
- android开发学习链接
- CSS:7个你可能不认识的单位
- 奔跑吧2015