1.创建存储过程之前,使用delimiter $$ 来定义语句结束符,创建完成后,还原语句结束符 delimiter ;
由于MySQL默认以";"为分隔符,则过程体的每一句都被MySQL以存储过程编译,则编译过程会报错,所以要事先用DELIMITER关键字申明
当前段分隔符用完了就把分隔符还原。
2.过程的开始与结束使用BEGIN.....END组合
3.使用show procedure status函数来获得存储过程的信息
MySql5.0以后均支持存储过程
格式:
CREATE PROCEDURE 过程名 ([过程参数[,...]])
[特性 ...] 过程体
CREATE FUNCTION 函数名 ([函数参数[,...]])
RETURNS 返回类型
[特性 ...] 函数体
过程参数:
[ IN | OUT | INOUT ] 参数名 参数类型
函数参数:
参数名 参数类型
返回类型:
有效的MySQL数据类型即可
1、存储过程注释:MySQL支持采用--或者/**/注释,其中前者是行注释,后者是段式注释
2、变量首先用declare申明,其中临时变量可以直接以@前缀修饰以供引用
3、直接采用MySQL的Administrator管理器编辑时,可以直接采用如下函数文本录入;
但若在脚本中自动导入存储过程或函数时,由于MySQL默认以";"为分隔符,则过程体的每一句都被MySQL以存储过程编译,则编译过程会报错
;所以要事先用DELIMITER关键字申明当前段分隔符用完了就把分隔符还原。 如下所示:
DELIMITER $$
Stored Procedures and Functions
DELIMITER ;
4、MySQL支持大量的内嵌函数,有些是和大型商用数据库如oracle、informix、sybase等一致,但也有些函数名称不一致,但功能一致;或者
有些名称一致,但功能相异,这个特别对于从这些数据库开发转过来的DBA要注意。
5、存储过程或函数的调试:我目前还没有研究MySQL所带的各种工具包,还不清楚其提供了调试工具没有,不过编译错误相对好查找;至于业
务流程的调试,可以采用一个比较笨的方法,就是创建一个调试表,在包体中各个流程点都插入一条记录,以观察程序执行流程。这也是一个
比较方便的笨办法。^_^
最后来个总结:
1. 只能说是看各自的习惯的,用procedure可以实现的,大部分用函数都可以的,所以有些package中函数的实现一个,过程的实现一个。
2.考虑是使用函数还是使用存储过程可以根据以下方面:
从参数的返回情况来看:如果返回多个参数值最好使用存储过程,如果只有一个返回值的话可以使用函数;
从调用情况来看:
(1)如果在SQL语句(DML或SELECT)中调用的话一定是存储函数或存储的封装函数不可以是存储过程,但调用存储函数的时候还有好多限制以及函数的纯度等级的问题,你可以参考《ORACLE 9I PL\SQL程序设计》(机械工业出版社);
(2)如果是在过程化语句中调用的话,就要看你要实现什么样的功能。函数一般情况下是用来计算并返回一个计算结果而存储过程一般是用来完成特定的数据操作(比如修改、插入数据库表或执行某些DDL语句等等),所以虽然他们的语法上很相似但用户在使用他们的时候所需要完成的功能大部分情况下是不同的。
3. 让我来简单的说PROCEDURE可以返回值,也可以做一件事,比如几个TABLE之间的数据转来转去,而FUNCTION一定要有返回值,还只能返回一个.....
4.三点与存储过程不同的地方:
a,必须要一个RETURNS语句来定义返回值类型
b,不能指定参数的IN、OUT或INOUT修饰符,所有参数隐式的为IN
c,Function体必须包含RETURN语句来终结Function执行并返回指定的结果给调用者
分享到:
相关推荐
Mysql存储过程和函数
mysql存储过程,存储函数练习,里面有详细代码,供大家参考
MySQL实验报告5(存储过程与函数)(1)(1).pdf
mysql 存储过程 ,存储函数的调用示例
MySQL 存储过程和函数是数据库中定义的一组用户定义的 SQL 语句集合。它们之间的区别在于: 1. 存储过程实现的功能要复杂一点,而函数实现的功能针对性比较强。 2. 存储过程可以返回参数,而函数只能返回值或者表...
MySQL数据库函数,触发器,存储过程的视频课程,通俗易懂
mysql+零基础+mysql存储函数以及函数过程知识点
在MySQL 入门教程中,我们能够看到很多关于如何创建储存过程 和如何利用 IN 和 OUT 参数调用存储过程的示例。这些示例都很简单,能够很好的帮助你理解 MySQL 中创建带参数存储过程的语法。这些示例已在 MySQL 5.5 中...
MySQL触发器、存储过程、自定义函数、视图简单示例
Mysql手册20-存储过程和函数,有详细的存储过程和函数的介绍,是初学者很好的学习资料
MySql中创建存储过程及函数的方法,并就创建存储过程和函数的异同,对各种数据库进行了比较。
mySql实现树形查询的函数存储过程例子
本文实例讲述了mysql存储过程之返回多个值的方法。分享给大家供大家参考,具体如下: mysql存储函数只返回一个值。要开发返回多个值的存储过程,需要使用带有INOUT或OUT参数的存储过程。咱们先来看一个orders表它的...
mysql存储例程、存储过程、存储函数进阶学习
JAVA通过MyBatis调用MySql存储过程和函数doc文档合集整理.zip
主要帮助大家学习理解MySQL存储过程和函数,感兴趣的小伙伴们可以参考一下
mysql过程,函数debug工具
第05章 数据类型和运算符(共17页).pptMySQL从入门到精通 第06章 MySQL函数(共76页).pptMySQL从入门到精通 第07章 查询数据(共48页).pptMySQL从入门到精通 第08章 插入、更新与删除数据(共10页).pptMySQL从...
本文实例讲述了MySQL存储过程的异常处理方法。分享给大家供大家参考。具体如下: mysql> mysql> delimiter $$ mysql> mysql> CREATE PROCEDURE myProc -> (p_first_name VARCHAR(30), -> p_last_name VARCHAR(30)...