- 浏览: 188194 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (321)
- eclipse (4)
- idea (2)
- Html (8)
- Css (14)
- Javascript (8)
- Jquery (6)
- Ajax Json (4)
- Bootstrap (0)
- EasyUI (0)
- Layui (0)
- 数据结构 (0)
- Java (46)
- DesPattern (24)
- Algorithm (2)
- Jdbc (8)
- Jsp servlet (13)
- Struts2 (17)
- Hibernate (11)
- Spring (5)
- S2SH (1)
- SpringMVC (4)
- SpringBoot (11)
- WebService CXF (4)
- Poi (2)
- JFreeChart (0)
- Shiro (6)
- Lucene (5)
- ElasticSearch (0)
- JMS ActiveMQ (3)
- HttpClient (5)
- Activiti (0)
- SpringCloud (11)
- Dubbo (6)
- Docker (0)
- MySQL (27)
- Oracle (18)
- Redis (5)
- Mybatis (11)
- SSM (1)
- CentOS (10)
- Ant (2)
- Maven (4)
- Log4j (7)
- XML (5)
最新评论
1. 存储过程
存储过程:就是为了以后的使用而保存的一条或者多条SQL语句的集合。 1. 创建无参存储过程 create procedure productpricing() begin select avg(prod_price) as priceaverage from products; end; 使用无参存储过程 call productpricing(); 删除存储过程 drop procedure productpricing; 2. 创建含参存储过程 create procedure productpricing( out pl decimal(8, 2), out ph decimal(8, 2), out pa decimal(8, 2) ) begin select min(prod_price) into pl from products; select max(prod_price) into ph from products; select avg(prod_price) into pa from products; end; 指定含参存储过程变量名 call productpricing(@pricelow, @pricehigh, @priceaverage); 使用含参存储过程 select @priceaverage; select @pricelow, @pricehigh, @priceaverage; 3. 创建含有in、out参数的存储过程 create procedure ordertotal( in onumber int, out ototal decimal(8,2) ) begin select sum(item_price*quantity) from orderitems where order_num = onumber into ototal; end; 指定含有in、out参数的存储过程变量名 call ordertotal(20005, @total); 使用含有in、out参数的存储过程 select @total; 4. 建立只能存储过程 1) 获得合计 2) 判断时候含税(0为假,1为真) 3) 返回合计 -- Name: ordertotal -- Parameters: onumber = order number -- taxable = 0 if not taxable, 1 if taxable -- ototal = order total variable create procedure ordertotal( in onumber int, in taxable boolean, out ototal decimal(8, 2) ) comment 'Obtain order total, optionally adding tax' begin -- declare variable for total declare total decimal(8, 2); -- declare tax percentage declare taxrate int default 6; -- get the order total select sum(item_price*quantity) from orderitems where order_num = onumber into total; -- is this taxable? if taxable then -- yes, so add taxrate to the total select total+(total/100*taxrate) into total; end if; -- add finally, save to out variable select total into ototal; end; 使用 call ordertotal(20005, 0, @total); select @total; call ordertotal(20005, 1, @total); select @total; 5. 检查存储过程 show create procedure ordertotal; 列出所有存储过程 show procedure status; 查询单个存储过程详细信息 show procedure status like 'ordertotal'; 1. MySQL命令行客户机的分隔符 默认的MySQL语句分隔符为;。如果命令行使用程序要解释存储过程自身内的;字符,则它们不会成为存储过程的成分,这回使存储过程中的SQL出现句法错误。 delimiter //告诉命令行使用程序使用//作为新句结束分隔符,在执行完存储过程后使用delimiter ;充值为默认。 解决办法如下: delimiter // create procedure productpricing() begin select avg(prod_price) as priceaverage from products; end // delimiter ; 2. 所有MySQL变量都必须以@开始 3. MySQL注释使用-- 4. 使用存储过程的好处 1) 通过把处理封装在容易使用的单元中,简化复杂的操作; 2) 由于不要求反复建立一系列处理步骤,这保证了数据的完整性。如果所有开发人员和应用程序都使用同一(试验和测试)存储过程,则所使用的代码都是相同的。这一点延伸就是防止错误,需要执行的步骤越多,出错的可能性就越大。防止错误保证了数据的一致性; 3) 简化对变动的关联。如果表名,列名或业务逻辑(或别的内容)有变化,只需要更改存储过程的代码。使用它的人员甚至不需要知道这些变化。这一点的延伸就是安全性。通过存储过程限制对基础数据的访问减少了数据讹误(无意识的或别的原因所导致的数据讹误)的机会; 4) 提高新能。因为使用存储过程比使用单独的SQL语句要快; 5) 存在一些只能用在单个请求中的MySQL元素和特性,存储过程可以使用它们来编写功能更强更灵活的代码。存储过程的3个好处:简单、安全、性能高; 缺点 1) 存储过程的编写比基本SQL语句复杂,编写存储过程需要更高的技能,更丰富的经验; 2) 你可能没有创建存储过程的安全访问权限,许多数据库管理员限制存储过程的创建权限,允许用户使用存储过程,但不允许他们创建存储过程;
发表评论
-
sql两表关联查询结果
2019-02-27 00:15 0student class 1 1 1 一 ... -
MySQL附录:示例表与数据
2018-09-27 15:08 7001. 下载地址 http://www.forta.com/bo ... -
MySQL附录:语句语法
2018-09-27 08:48 5001. 语句语法 1. alter table alter ... -
MySQL附录:数据类型
2018-09-27 08:48 5391. 数据类型 1. 串数据类型 char ... -
MySQL改善性能
2018-09-26 14:06 4281. 改善性能 1. MySQL时用一系列的默认设置预先 ... -
MySQL数据库维护
2018-09-26 14:05 7221. 数据库维护 检查表 ... -
MySQL安全管理
2018-09-26 14:04 4461. 安全管理 管理用户 ... -
MySQL全球化和本地化
2018-09-26 14:03 6871. 全球化和本地化 查看所支持的字符集完整列表 SQ ... -
MySQL管理事物处理transaction
2018-09-26 14:02 5681. 管理事物处理 开启事务 start transac ... -
MySQL使用触发器trigger
2018-09-23 12:18 7131. 使用触发器 创建触 ... -
MySQL使用游标cursor
2018-09-23 11:43 5511. 使用游标 创建游标 create procedur ... -
MySQL使用视图view
2018-09-20 20:28 5311. 视图 创建视图 create view produ ... -
MySQL创建和操纵表create、alter
2018-09-20 20:18 5601. 创建表 创建表 SQL> create t ... -
MySQL更新和删除数据update、delete
2018-09-19 19:29 6781. 更新数据 更新数据 SQL> update ... -
MySQL插入数据insert
2018-09-19 19:25 4351. 插入数据 插入完整的行 SQL> inse ... -
MySQL全文本搜索match、against
2018-09-19 19:22 7131. 全文本搜索 使用全文本搜索 SQL> se ... -
MySQL组合查询union
2018-09-19 19:17 5011. 组合查询 组合查询union SQL> s ... -
MySQL联结表
2018-09-19 19:13 4331. 联结表 创建联结,有where子句 SQL> ... -
MySQL使用子查询
2018-09-18 19:06 6751. 使用子查询 使用子查询 1) select ord ... -
MySQL分组数据group by
2018-09-18 19:03 10901. 分组数据 分组计数 SQL> select ...
相关推荐
MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预编译一系列SQL语句并封装成一个可重复使用的单元,从而提高数据处理的效率和代码的复用性。本教程将深入探讨MySQL存储过程的创建、调用以及相关概念...
MySQL存储过程是数据库中一种非常实用的功能,它允许开发者封装一系列SQL语句成一个可重复使用的单元,便于管理和执行复杂的数据库操作。本篇文章将详细探讨如何在MySQL中创建存储过程、调用存储过程以及声明和赋值...
本实例展示了如何在MySQL存储过程中实现异常处理,以捕获并处理可能出现的错误。 首先,我们注意到在创建存储过程`myProc`时,使用了`delimiter $$`来改变MySQL客户端的语句分隔符,这是为了在存储过程中使用多个...
总的来说,Java通过JDBC调用MySQL存储过程涉及到连接数据库、创建`CallableStatement`、执行存储过程和处理结果。这使得开发者能够在Java应用中灵活地利用数据库提供的强大功能,实现更高效的数据处理。
MySQL存储过程(Stored Procedure)是一种复杂的数据库对象,允许用户将多个SQL语句组合成一个单一的执行单元,以提高数据库的性能和可维护性。下面是 MySQL 存储过程的相关知识点: 存储过程的定义和示例 存储...
c++实现调mysql存储过程,实现存储过程的出参入参,可以支持查询多数据返回,还有存储过程的复杂数据的增删改等
MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预编译一系列的SQL语句,形成一个可重复使用的代码块,以提高数据处理的效率和应用程序的性能。在这个"MySQL存储过程学习"的主题中,我们将深入探讨...
MySQL存储过程是数据库管理系统中的一个重要特性,它允许程序员或数据库管理员预先定义一组SQL语句,形成一个可重用的逻辑单元。在这个“MySQL存储过程入门到精通”资料中,你将深入理解存储过程的原理、创建、调用...
MySQL 存储过程实例 MySQL 存储过程实例详细介绍了 MySQL 存储过程的开发步骤,本节将通过具体的实例讲解 PHP 是如何操纵 MySQL 存储过程的。 创建存储过程 存储过程的创建是 MySQL 存储过程的基础,MySQL 5.0 ...
MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预编译一系列的SQL语句,形成一个可重复执行的单元,极大地提高了数据库操作的效率和便捷性。在MySQL中,存储过程可以包含复杂的业务逻辑,比如条件...
在MySQL5中,存储过程(Procedure)是一种非常重要的数据库编程元素,它允许用户预先定义一组SQL语句并将其封装在一起,以便在需要时作为一个单元执行。这样不仅可以提高代码的复用性,还可以优化数据库操作的效率,...
### MySQL存储过程实现分页 #### 背景与需求 在数据库操作中,分页是一种常见的需求,尤其是在处理大量数据时。通过分页技术,可以有效地减少每次查询的数据量,提高系统的响应速度和用户体验。MySQL作为一种广泛...
MySQL 存储过程和触发器详解 MySQL 存储过程是指一组为了完成特定功能的 SQL 语句集合。存储过程的优点包括: 1. 封装性:存储过程可以将多个 SQL 语句封装在一起,方便调用和维护。 2. 可增强 SQL 语句的功能和...
### MySQL存储过程详解 #### 一、MySQL存储过程概述 MySQL 存储过程是一种服务器端的编程技术,它允许开发者创建可重复使用的代码模块。这些模块可以包含一系列复杂的 SQL 语句和其他流程控制语句。MySQL 5.0 版本...
### MySQL存储过程实战知识点 #### 一、存储过程概述 MySQL 存储过程是一种预编译的 SQL 脚本,它可以包含复杂的逻辑控制结构、循环等操作,并且可以接受参数,执行完后还可以返回结果。存储过程可以提高数据处理...
MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预定义一组SQL语句,并将其封装成一个可重复使用的单元。这个教程将深入讲解如何在MySQL中创建、调用和管理存储过程,以及它们在实际应用中的价值。 ...
在压缩包中的"procedure"文件可能包含了实现上述功能的MySQL存储过程代码。这个存储过程可能包含了一些内部函数或变量来处理表名列表,以及可能的配置选项,如是否备份触发器、索引等。为了使用这个存储过程,你需要...