我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL数据篇 (一)存储过程实现简单的数据修改及事务的使用

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL数据篇 (一)存储过程实现简单的数据修改及事务的使用

需求,手动给会员新增京币,并且添加分配日志,返回修改是否成功

CREATE DEFINER=`jszapi`@`%` PROCEDURE `p_allot_user_coin`(IN `_member_id` int,IN `_coin` int,OUT `_res` tinyint)
BEGIN
         
        DECLARE err INT DEFAULT 0; #是否有sql错误
        DECLARE timestampTmp int;#当前的时间戳  

        DECLARE memberSPIDCount INT DEFAULT 0;#会员id对应会员数(用于验证传入会员id是否有误)

        DECLARE memberTableUpdateCount INT DEFAULT 0;#更新t_members表影响的行数
        DECLARE allotTableInsertId INT DEFAULT 0; #插入t_coin_log表的自增id
        
        DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET err=1;#判断是否有SQL错误,全局
        
        #开启事务
        START TRANSACTION; 
        
        #赋值timestampTmp     
       set timestampTmp=unix_timestamp();

        #判断传入会员id是否有误
        SELECT COUNT(1) INTO memberSPIDCount FROM t_members WHERE id = _member_id;
        
        IF memberSPIDCount = 0 THEN
    
            SET _res = 0;

        ELSE
            #更新
            UPDATE t_members    SET    jing_coin = jing_coin + _coin WHERE id = _member_id;

            #获取更新数
            SELECT    ROW_COUNT()    INTO    memberTableUpdateCount;
            IF    memberTableUpdateCount = 0 THEN
                SET err = 1;
            END    IF;

            #添加分配日志
            INSERT    INTO    t_coin_log(`member_id`,`coin`,`type`,`describe`,`create_time`)    VALUES(_member_id,_coin,3,"公司分配",timestampTmp);
            #获取插入的自增ID
            SELECT    @@IDENTITY    INTO    allotTableInsertId;
            IF    allotTableInsertId    = 0    THEN
                SET    err = 1;
            END    IF;

            #判断事务是否提交
            IF    err = 1    THEN
                SET    _res = 0;
                ROLLBACK;#回滚事务
            ELSE
                SET    _res = 1;
                COMMIT;#提交事务
            END    IF;

        END IF;
END

查询,存储过程的调用:传入参数(IN)直接写需要传入的参数,传出参数(OUT)需要补全格式为 @变量名,如调用上述过程

#CALL 过程名(传入参数1,传入参数2,@传出变量),res名称自己取
CALL p_allot_user_coin(3,100,@res);

结果,输出结果 返回定义的修改状态_res值

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL数据篇 (一)存储过程实现简单的数据修改及事务的使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL数据篇 (一)存储过程实现简单的数据修改及事务的使用

1、需求,手动给会员新增京币,并且添加分配日志,返回修改是否成功CREATE DEFINER=`jszapi`@`%` PROCEDURE `p_allot_user_coin`(IN `_member_id` int,IN `_coin` int,OUT `
MySQL数据篇 (一)存储过程实现简单的数据修改及事务的使用
2016-01-24

MySQL存储过程的创建使用以及实现数据快速插入

目录一,存储过程介绍二,存储过程的优缺点 三,存储过程的创建与调用3.1,存储过程中的常用语法及参数3.2,存储过程的使用四,存储过程中的变量及使用细则4.1,变量定义4.2,变量赋值4.3,用户变量的使用4.4,存储过程的一些常用查看命令
2023-03-09

MySQL存储过程创建使用及实现数据快速插入的方法是什么

本文小编为大家详细介绍“MySQL存储过程创建使用及实现数据快速插入的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“MySQL存储过程创建使用及实现数据快速插入的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一
2023-03-10

如何使用MySQL和Java实现一个简单的数据备份功能

如何使用MySQL和Java实现一个简单的数据备份功能随着数据的日益增多,数据备份成为了保障数据安全的重要一环。本文将介绍如何使用MySQL和Java实现一个简单的数据备份功能,并给出具体的代码示例。一、数据库备份原理数据库备份,即将数据库
2023-10-22

如何使用MySQL和Java实现一个简单的数据清洗功能

如何使用MySQL和Java实现一个简单的数据清洗功能概述:在进行数据分析和机器学习之前,数据清洗是一个非常重要的步骤。数据清洗可以帮助我们处理缺失值、异常值和重复值等问题,从而提高我们对数据的准确性和可靠性。本文将介绍如何使用MySQL和
2023-10-22

如何使用MySQL和Ruby实现一个简单的数据同步功能

如何使用MySQL和Ruby实现一个简单的数据同步功能随着信息化时代的不断发展,数据的同步和共享变得越来越重要。在很多应用中,我们需要将数据从一个地方同步到另一个地方,以保持数据的一致性和完整性。本文将介绍如何使用MySQL和Ruby来实现
2023-10-22

如何使用MySQL和Ruby实现一个简单的数据转换功能

如何使用MySQL和Ruby实现一个简单的数据转换功能在实际的开发工作中,经常需要进行数据转换,将一个数据格式转化为另一个数据格式。本文将介绍如何使用MySQL和Ruby来实现一个简单的数据转换功能,并且提供具体的代码示例。首先,我们需要安
2023-10-22

如何使用MySQL和Ruby实现一个简单的数据备份功能

如何使用MySQL和Ruby实现一个简单的数据备份功能随着互联网的迅速发展和技术的进步,数据备份已经成为所有企业和个人必备的重要工作。MySQL和Ruby是两个广泛应用于数据处理和管理的强大工具。本文将介绍如何使用MySQL和Ruby实现一
2023-10-22

如何使用MySQL和JavaScript实现一个简单的数据验证功能

如何使用MySQL和JavaScript实现一个简单的数据验证功能在Web开发中,数据验证是一个非常重要且必不可少的步骤。它可以确保用户输入的数据符合一定的规则和格式,提升用户体验,同时也能保护数据库的完整性。本文将介绍如何使用MySQL和
2023-10-22

如何使用MySQL和Ruby实现一个简单的数据清洗功能

如何使用MySQL和Ruby实现一个简单的数据清洗功能在数据分析和处理的过程中,数据清洗是一个非常重要的步骤。数据清洗可以帮助我们处理不完整、不一致或者错误的数据,使数据能够更好地被分析和使用。本文将介绍如何使用MySQL和Ruby语言实现
2023-10-22

如何使用MySQL和JavaScript实现一个简单的数据分析功能

如何使用MySQL和JavaScript实现一个简单的数据分析功能MySQL是一种常用的关系型数据库管理系统,而JavaScript是一种常用的脚本语言,结合使用这两种技术,我们可以实现一个简单的数据分析功能。本文将介绍如何通过MySQL和
2023-10-22

如何使用MySQL和JavaScript实现一个简单的数据导出功能

如何使用MySQL和JavaScript实现一个简单的数据导出功能介绍在日常的开发中,我们经常需要将数据库中的数据导出到外部文件或其他形式的数据存储中,以供进一步处理或分析。本文将介绍如何使用MySQL和JavaScript实现一个简单的数
2023-10-22

如何使用MySQL和JavaScript实现一个简单的数据可视化功能

如何使用MySQL和JavaScript实现一个简单的数据可视化功能引言:数据可视化在现代信息化时代占据着重要的位置,能够直观地展示数据、分析数据,并帮助我们做出更加明智的决策。本文将介绍如何使用MySQL和JavaScript来实现一个简
2023-10-22

如何使用MySQL和Ruby实现一个简单的数据查询分析功能

要使用MySQL和Ruby实现一个简单的数据查询分析功能,首先需要确保已经安装了MySQL数据库和Ruby编程语言。下面是一个简单的步骤指南:1. 安装MySQL数据库:可以从MySQL官方网站下载并安装MySQL数据库。2. 安装Ruby
2023-10-10

如何使用MySQL和JavaScript实现一个简单的数据分析报告功能

如何使用MySQL和JavaScript实现一个简单的数据分析报告功能概述:在如今的信息时代,数据分析和报告已经成为企业决策的重要组成部分。MySQL是一个强大的关系型数据库管理系统,而JavaScript是一种广泛应用于网站开发的脚本语言
2023-10-22

如何使用MySQL和Ruby实现一个简单的数据分析报表功能

如何使用MySQL和Ruby实现一个简单的数据分析报表功能引言:在当今数据驱动的时代,数据分析对于企业的决策和发展起到了至关重要的作用。而数据分析报表作为数据分析的重要组成部分,对于对数据进行整理、可视化和解读具有重要意义。本文将介绍如何使
2023-10-22

mysql 函数、事件( 建立一个存储引擎为memory(已建好)的表,通过事件实现插入的每条数据30分钟后自动删除)

use db;create table lg(id int unsigned,naem varchar(20),t timestamp,message varchar(100) );select *from lg;drop table lg;insert in
mysql 函数、事件( 建立一个存储引擎为memory(已建好)的表,通过事件实现插入的每条数据30分钟后自动删除)
2020-09-02

编程热搜

目录