zoukankan      html  css  js  c++  java
  • Mysql数据库中 ,涉及事物,循环添加数据

     1 create PROCEDURE Usp_AddBoradCast
     2 (
     3 in subjects VARCHAR(200),
     4 in detail  text,
     5 in useid int,
     6 in isdelete int,
     7 in confirm INT,
     8 in time DateTime,
     9 in acceptUserId VARCHAR(500),
    10 in isread INT
    11 
    12 )
    13 BEGIN
    14 declare cnt int default 0;
    15 declare i int default 0;
    16 declare growthid int DEFAULT 0;
    17 DECLARE t_error INTEGER DEFAULT 0
    18 DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1;
    19 START TRANSACTION;
    20 
    21 INSERT into wc_broadcast(id,`subject`,content,userId,isDelete,isConfirm,addDate)VALUES(subjects,detail,useid,isdelete,confirm,time);
    22 select LAST_INSERT_ID() into growthid;
    23 /*字符串切割后的总数*/
    24 //&为分隔符
    25 //func_get_split_string_tota 是函数
    26 set cnt = func_get_split_string_total(acceptUserId,'&');
    27 WHILE i<cnt
    28 DO
    29 insert INTO wc_broadcastinfo(id,broadcastid,userid,isread)VALUES(growthid,func_get_split_string(acceptUserId,'&',i),isread);
    30   set i = i + 1;
    31 end WHILE;
    32 
    33 IF t_error = 0 THEN   
    34        commit;
    35   ELSE   
    36         ROLLBACK;
    37   END IF; 
    38 
    39 END
    View Code

     

  • 相关阅读:
    nginx配置文件中的location中文详解
    binlog、redo log、undo log区别
    OLTP和OLAP的区别
    MPP、SMP、NUMA概念介绍
    NUMA体系结构介绍
    在Linux下判断系统当前是否开启了超线程
    NUMA的取舍与优化设置
    LRU缓存算法
    optimize table
    使用innodb_force_recovery解决MySQL崩溃无法重启问题
  • 原文地址:https://www.cnblogs.com/xiaoyaodijun/p/3951124.html
Copyright © 2011-2022 走看看