码迷,mamicode.com
首页 > 数据库 > 详细

mysql 存储过程与函数

时间:2015-10-24 15:40:48      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:

即事先经过编译并存储在数据库中的一段sql语言。

一、创建函数

创建格式:

CREATE FUNCTION sp_name ([func_parameter[,...]])

    RETURNS type

    [characteristic ...] routine_body

func_parameter:

    param_name type

总结:函数的参数前不能有修饰符如,INOUT(不同于存储过程),调用时可直接调用,像系统函数一般使用。

mysql> DELIMITER $$

mysql> CREATE FUNCTION func_emsal(empno INT)

    -> RETURNS DOUBLE(10,2)

    -> COMMENT ‘ 查询某个雇员的工资‘

    -> BEGIN

    -> RETURN(

    -> SELECT sal

    -> FROM employee

    -> WHERE employee.empno=empno);

    -> END $$

调用方式:SELECT func_emsal (empno);

二、存储过程

创建格式:

CREATE PROCEDURE sp_name ([proc_parameter[,...]])

    [characteristic ...] routine_body

proc_parameter:

    [ IN | OUT | INOUT ] param_name type

IN用于说明是传入参数,OUT为返还结果的参数(即开始时没有值,调用后有值),INOUT则充当两者的角色

总结:IN,OUT,INOUT用于指定参数的类型,OUT参数的赋值使用set操作符(与局部变量赋值类似),调用时使用call,out参数要有@修饰。

举例:

mysql> DELIMITER $$

mysql> CREATE PROCEDURE proce_emsal()

    -> COMMENT ‘查询所有雇员的工资‘

    -> BEGIN 

    -> SELECT sal

    -> FROM employee;

    -> END$$

调用方式:CALL proce_emsal( ); 

mysql 存储过程与函数

标签:

原文地址:http://www.cnblogs.com/uknowjieverkkw/p/4906822.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!