zoukankan      html  css  js  c++  java
  • MYSQL存储过程事务列子

    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;
  • 相关阅读:
    爬虫-解析库-beautisoup
    爬虫-请求库-requests库
    爬虫-简单爬取视频
    爬虫基本原理
    虚拟环境搭建+前后端项目搭建
    flask-自定义命令、多APP应用、 wtforms、sqlalcchemy
    flask-蓝图
    flask- 偏函数、请求上下文、信号、flask-session保存redis中
    flash框架-安装、路由、配置、请求与响应
    svn服务器镜像备份
  • 原文地址:https://www.cnblogs.com/cfas/p/3173609.html
Copyright © 2011-2022 走看看