俗话说工欲善其事,必先利其器
通过对mysql存储过程基本语法,控制语句,异常处理,光标等的学习,下面是在实际项目中,写了两个mysql的存储过程
代码1:
/*====================================================================*/
/* 说明: 用户充值的存储过程,如果充值成功返回用户的账户余额,失败返回0
/* AUTHOR:
/* CREATE:
/* UDPATE:
/*====================================================================*/
CREATE DEFINER=`xxxx`@`%` PROCEDURE `pro_recharge`(in userid varchar(100),in nowx date,in cardpsw varchar(100))
begin
declare idx int;
declare snvaluex int;
declare result int DEFAULT 0;
select ID,SNValue into idx,snvaluex from Recharge_Log where ValidTime>nowx and Flag=1 and SNPsw=cardpsw;
if idx is null or snvaluex is null then
select result;
else
SET autocommit=0;
insert into Recharge_UserID(SNID,UserID) values (idx,userid);
update User_Info set FeeValue=FeeValue + snvaluex,Points=Points +snvaluex*0.1 where UserID=userid;
update Recharge_Log set Flag=0 where SNPsw=cardpsw;
COMMIT;
select FeeValue into result from User_Info where UserID=userid limit 1;
end if;
select result;
end
代码2:
/*====================================================================*/
/* 说明: 用户注册的存储过程,完成用户的账户注册,成功返回用户名和密码,失败返回0
/* AUTHOR:
/* CREATE:
/* UDPATE:
/*====================================================================*/
CREATE DEFINER=`xxxx`@`%` PROCEDURE `pro_register`(
in cldc char(20),in midp char(20),in phone char(30),in name char(10),in mobile char(11),in city int,
in psw char(32),in usertype char(10),in recommended char(10),in logintime date)
begin
declare useridx int;
declare result int DEFAULT 0;
if mobile='13911113xxxx' and psw='xxxxxx' then
set useridx = 10008888;
else
select UserID into useridx from User_ID order by rand() limit 1;
end if;
if useridx is null then
select result;
else
SET autocommit = 0;
delete from User_ID where UserID=useridx;
insert into User_Info (UserID, Mobile, Name, Psw, City, Cldc, Midp, Phone, Recommended,UserType, LoginTime) Values
(useridx, mobile, name, psw, city, cldc, midp, phone, recommended, usertype, logintime);
COMMIT;
select useridx,psw;
end if;
end;
分享到:
相关推荐
### MySQL存储过程实战知识点 #### 一、存储过程概述 MySQL 存储过程是一种预编译的 SQL 脚本,它可以包含复杂的逻辑控制结构、循环等操作,并且可以接受参数,执行完后还可以返回结果。存储过程可以提高数据处理...
内容概述:通过MySQL存储过程实战的例子,学会使用MySQL存储过程。包含以下内容: 创建无参存储过程、有参存储过程、IF-ELSE存储过程、WHILE循环存储过程、CASE-WHEN条件控制存储过程、REPEAT UNTIL循环存储过程、...
### MySQL存储过程实例教程 #### 存储过程概念与优势 存储过程,作为数据库中一种预编译的SQL语句集合,旨在实现特定功能并存储于数据库内,用户仅需指定其名称及必要参数即可调用执行。这种设计极大地简化了...
MySQL存储过程是数据库管理系统中一组为了完成特定功能的SQL语句集,它可以被保存和重复使用,提高了数据库的效率和可维护性。在本项目实践中,我们将深入学习和运用MySQL的存储过程,同时结合游标这一重要工具进行...
MySQL存储过程详解 MySQL存储过程是MySQL中常用的数据库对象,它是一组为了完成特定功能的预编译的SQL语句集合。存储过程是一种命名的程序块,在第一次使用经过编译之后,再次调用时不用再编译,因此执行效率较高。...
通过这篇文章,读者可以了解到如何在Java项目中使用IBatis进行数据库操作,并掌握调用MySQL存储过程的方法。作者很可能会提供详细的步骤、示例代码和实战案例,帮助读者更好地理解和应用这些技术。由于没有具体的...
最后,还有MySQL的一些高级主题,如分区、视图、触发器、存储过程等,它们可以增强数据库的功能和灵活性。 通过《MYSQL实战45讲》的学习,无论是初学者还是经验丰富的开发者,都能从中受益,深化对MySQL的理解,...
│ 7_MySQL存储引擎.mp4 │ 8_MySQL第三范式设计讲解.mp4 │ 9_MySQL数据库设计工具.mp4 │ ├─新版MySQL DBA综合实战班 第06天 │ 1_课堂作业讲解.mp4 │ 2_InnoDB内核之事务和多版本控制.mp4 │ 3_InnoDB底层...
【MySQL实战优化高手之路】 MySQL,作为世界上最受欢迎的关系型数据库管理系统之一,对于任何涉及数据库管理、开发或运维的IT专业人士来说,都是一个必备的技能。本资源集合旨在帮助你从零开始,逐步深入理解MySQL...
MySQL数据库是目前世界上最受欢迎的关系型数据库管理系统之一,广泛应用于各种规模的企业、网站和应用程序中。这份"MySQL数据库应用实战教程(慕课版)-PPT详细版.rar"压缩包文件,显然是一份针对学习和实践MySQL...
MySQL是世界上最受欢迎的关系型数据库管理系统之一,尤其在Web应用程序中被广泛应用。本项目旨在提供一个实践平台,帮助用户深入理解和掌握MySQL的使用,通过实际操作提升技能。以下是一些关于MySQL项目实战的关键...
压缩包中的"存储过程"可能包含各个数据库系统的示例代码、教程文档或者实战案例,通过深入学习和实践,可以帮助你更全面地掌握存储过程的使用和设计。在实际工作中,合理运用存储过程能够提升数据库应用的效率和质量...
《MySQL从基础到存储过程:全面解析与实战指南》 MySQL作为全球最广泛使用的开源关系型数据库管理系统之一,其在Web开发、企业级应用、数据分析等多个领域都有着不可替代的地位。从初学者到高级用户,掌握MySQL的...
13-MySQL服务安装实战安装过程讲解mp4 14-一键安装Mysql多实例实战讲解与演示mp4 15-通过手工测试MySQL的高可用切换mp4 16-MySQL双主高可用自动切换实战实现mp4 17-有关MySQL双主高可用my.cnf的配置注意事项讲解mp4 ...
《MySQL数据库应用实战教程》是一门旨在教授学员MySQL数据库应用的课程,涵盖了数据库的基本理论以及实战操作技巧。课程教案详细规划了教学过程,包括教学目标、内容、重点和难点,旨在帮助学生掌握MySQL的核心概念...
4. **丰富的存储引擎**:MySQL 支持多种存储引擎,包括 InnoDB、MyISAM 等,可以根据不同的需求选择合适的存储引擎。 5. **开源免费**:MySQL 是一款开源软件,用户可以自由地使用、修改和分发 MySQL 的源代码。 ##...
在数据库领域,MySQL作为广泛应用的关系型数据库管理系统之一,其查询性能优化是数据库管理员(DBA)和开发人员经常会面对的重要课题。为了提高查询效率,索引的使用是关键因素之一。本文将详细介绍MySQL中几种常用...
《MySQL技术内幕:InnoDB存储引擎》是国内目前唯一的一本关于InnoDB的著作,由资深MySQL专家亲自执笔,中外数据库专家联袂推荐,权威性毋庸置疑。内容深入,从源代码的角度深度解析了InnoDB的体系结构、实现原理、...
6. 高级话题:进一步深入,可能会涵盖PHP面向对象编程(OOP)、PHP框架的使用,如Laravel或Symfony,以及MySQL的高级特性,如存储过程、触发器和事件调度。 7. 实战项目:书中的每个章节都可能配合有实际的代码示例...