MySQL存储过程详解(2)

来源:未知 责任编辑:责任编辑 发表时间:2013-12-06 08:46 点击:

(2)存储过程根据需要可能会有输入、输出、输入输出参数,这里有一个输出参数s,类型是int型,如果有多个参数用","分割开。

(3)过程体的开始与结束使用BEGIN与END进行标识。

这样,我们的一个MySQL存储过程就完成了,是不是很容易呢?看不懂也没关系,接下来,我们详细的讲解。

 

(2). 声明分割符

 

其实,关于声明分割符,上面的注解已经写得很清楚,不需要多说,只是稍微要注意一点的是:如果是用MySQL的Administrator管理工具时,可以直接创建,不再需要声明。

 

(3). 参数

MySQL存储过程的参数用在存储过程的定义,共有三种参数类型,IN,OUT,INOUT,形式如:

CREATE PROCEDURE([[IN |OUT |INOUT ] 参数名 数据类形...])

IN 输入参数:表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值

OUT 输出参数:该值可在存储过程内部被改变,并可返回

INOUT 输入输出参数:调用时指定,并且可被改变和返回

Ⅰ. IN参数例子

创建:

1.  mysql > DELIMITER // 

2.  mysql > CREATE PROCEDURE demo_in_parameter(IN p_in int) 

3.       -> BEGIN  

4.       -> SELECT p_in; /*查询输入参数*/ 

5.       -> SET p_in=2; /*修改*/ 

6.       -> SELECT p_in; /*查看修改后的值*/ 

7.       -> END;  

8.       -> // 

9.  mysql > DELIMITER ;

 

执行结果:

1.  mysql > SET @p_in=1; 

2.  mysql > CALL demo_in_parameter(@p_in); 

3.  +------+ 

4.  | p_in | 

5.  +------+ 

6.  |   1  |  

7.  +------+ 

8.  

9.  +------+ 

10.| p_in | 

11.+------+ 

12.|   2  |  

13.+------+ 

14.

15.mysql> SELECT @p_in; 

16.+-------+ 

17.| @p_in | 

18.+-------+ 

19.|  1    | 

20.+-------+ 

 

以上可以看出,p_in虽然在存储过程中被修改,但并不影响@p_id的值

 

Ⅱ.OUT参数例子

创建:

1.  mysql > DELIMITER // 

2.  mysql > CREATE PROCEDURE demo_out_parameter(OUT p_out int) 

3.       -> BEGIN

4.       -> SELECT p_out;/*查看输出参数*/ 

5.       -> SET p_out=2;/*修改参数值*/ 

6.       -> SELECT p_out;/*看看有否变化*/ 

7.       -> END; 

8.       -> // 

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • mysql-mmm
  • mysqldump命令——MySQL数据库备份还原
  • Oracle数据导入MySQL的快捷工具:MySQL Migration Toolkit
  • 简简单单储存过程——循环一个select结果集
  • MySQL数据库十大优化技巧
  • Mysql主主复制架构配置
  • Mysql安装笔记
  • Mysql的Procedure 参数为NULL问题分析
  • MySQL Stmt预处理提高效率问题的小研究
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1