`
wwty
  • 浏览: 542449 次
  • 性别: Icon_minigender_1
  • 来自: 北京-郑州
社区版块
存档分类
最新评论

mysql存储过程之实战篇

阅读更多

俗话说工欲善其事,必先利其器

通过对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存储过程实战知识点 #### 一、存储过程概述 MySQL 存储过程是一种预编译的 SQL 脚本,它可以包含复杂的逻辑控制结构、循环等操作,并且可以接受参数,执行完后还可以返回结果。存储过程可以提高数据处理...

    MySQL存储过程实战SQL脚本

    内容概述:通过MySQL存储过程实战的例子,学会使用MySQL存储过程。包含以下内容: 创建无参存储过程、有参存储过程、IF-ELSE存储过程、WHILE循环存储过程、CASE-WHEN条件控制存储过程、REPEAT UNTIL循环存储过程、...

    MySQL存储过程实例教程

    ### MySQL存储过程实例教程 #### 存储过程概念与优势 存储过程,作为数据库中一种预编译的SQL语句集合,旨在实现特定功能并存储于数据库内,用户仅需指定其名称及必要参数即可调用执行。这种设计极大地简化了...

    mysql存储过程_游标_项目练习

    MySQL存储过程是数据库管理系统中一组为了完成特定功能的SQL语句集,它可以被保存和重复使用,提高了数据库的效率和可维护性。在本项目实践中,我们将深入学习和运用MySQL的存储过程,同时结合游标这一重要工具进行...

    MySQL从入门到实战学习教程之10存储过程.pptx

    MySQL存储过程详解 MySQL存储过程是MySQL中常用的数据库对象,它是一组为了完成特定功能的预编译的SQL语句集合。存储过程是一种命名的程序块,在第一次使用经过编译之后,再次调用时不用再编译,因此执行效率较高。...

    IBatis查删改查与调用存储过程 mysql数据库

    通过这篇文章,读者可以了解到如何在Java项目中使用IBatis进行数据库操作,并掌握调用MySQL存储过程的方法。作者很可能会提供详细的步骤、示例代码和实战案例,帮助读者更好地理解和应用这些技术。由于没有具体的...

    MYSQL实战45讲(全).zip

    最后,还有MySQL的一些高级主题,如分区、视图、触发器、存储过程等,它们可以增强数据库的功能和灵活性。 通过《MYSQL实战45讲》的学习,无论是初学者还是经验丰富的开发者,都能从中受益,深化对MySQL的理解,...

    新版 MySQL DBA 高级视频 基于MySQL 5.7 MySQL 8.0版本.rar

    │ 7_MySQL存储引擎.mp4 │ 8_MySQL第三范式设计讲解.mp4 │ 9_MySQL数据库设计工具.mp4 │ ├─新版MySQL DBA综合实战班 第06天 │ 1_课堂作业讲解.mp4 │ 2_InnoDB内核之事务和多版本控制.mp4 │ 3_InnoDB底层...

    从 0 开始带你成为MySQL实战优化高手

    【MySQL实战优化高手之路】 MySQL,作为世界上最受欢迎的关系型数据库管理系统之一,对于任何涉及数据库管理、开发或运维的IT专业人士来说,都是一个必备的技能。本资源集合旨在帮助你从零开始,逐步深入理解MySQL...

    MySQL数据库应用实战教程(慕课版)-PPT详细版.rar

    MySQL数据库是目前世界上最受欢迎的关系型数据库管理系统之一,广泛应用于各种规模的企业、网站和应用程序中。这份"MySQL数据库应用实战教程(慕课版)-PPT详细版.rar"压缩包文件,显然是一份针对学习和实践MySQL...

    mysql练手项目, mysql 项目实战

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,尤其在Web应用程序中被广泛应用。本项目旨在提供一个实践平台,帮助用户深入理解和掌握MySQL的使用,通过实际操作提升技能。以下是一些关于MySQL项目实战的关键...

    数据库存储过程资料收集

    压缩包中的"存储过程"可能包含各个数据库系统的示例代码、教程文档或者实战案例,通过深入学习和实践,可以帮助你更全面地掌握存储过程的使用和设计。在实际工作中,合理运用存储过程能够提升数据库应用的效率和质量...

    Mysql从基础到存储过程

    《MySQL从基础到存储过程:全面解析与实战指南》 MySQL作为全球最广泛使用的开源关系型数据库管理系统之一,其在Web开发、企业级应用、数据分析等多个领域都有着不可替代的地位。从初学者到高级用户,掌握MySQL的...

    2017最新老男孩MySQL高级专业DBA实战课程全套【清晰不加密】,看完教程月入40万没毛病

    13-MySQL服务安装实战安装过程讲解mp4 14-一键安装Mysql多实例实战讲解与演示mp4 15-通过手工测试MySQL的高可用切换mp4 16-MySQL双主高可用自动切换实战实现mp4 17-有关MySQL双主高可用my.cnf的配置注意事项讲解mp4 ...

    《MySQL数据库应用实战教程》—课程教案(教学过程设计).pdf

    《MySQL数据库应用实战教程》是一门旨在教授学员MySQL数据库应用的课程,涵盖了数据库的基本理论以及实战操作技巧。课程教案详细规划了教学过程,包括教学目标、内容、重点和难点,旨在帮助学生掌握MySQL的核心概念...

    软件开发实战:PHP+MySQL开发实战

    4. **丰富的存储引擎**:MySQL 支持多种存储引擎,包括 InnoDB、MyISAM 等,可以根据不同的需求选择合适的存储引擎。 5. **开源免费**:MySQL 是一款开源软件,用户可以自由地使用、修改和分发 MySQL 的源代码。 ##...

    MYSQL查询调优实战

    在数据库领域,MySQL作为广泛应用的关系型数据库管理系统之一,其查询性能优化是数据库管理员(DBA)和开发人员经常会面对的重要课题。为了提高查询效率,索引的使用是关键因素之一。本文将详细介绍MySQL中几种常用...

    mysql内核 innodb存储引擎

    《MySQL技术内幕:InnoDB存储引擎》是国内目前唯一的一本关于InnoDB的著作,由资深MySQL专家亲自执笔,中外数据库专家联袂推荐,权威性毋庸置疑。内容深入,从源代码的角度深度解析了InnoDB的体系结构、实现原理、...

    Practical PHP and MySQL(php Mysql实战案例)

    6. 高级话题:进一步深入,可能会涵盖PHP面向对象编程(OOP)、PHP框架的使用,如Laravel或Symfony,以及MySQL的高级特性,如存储过程、触发器和事件调度。 7. 实战项目:书中的每个章节都可能配合有实际的代码示例...

Global site tag (gtag.js) - Google Analytics