您的位置:首页 > 数据库 > MySQL

MySQL存储过程部分解释

2011-11-16 21:05 246 查看
20111116学习总结;

MySQL存储过程部分解释:

关于MySQL的存储过程

存储过程是数据库存储的一个重要的功能,但是MySQL在5.0以前并不支持存储过程,这使得MySQL在应用上大打折扣。好在MySQL 5.0终于开始已经支持存储过程,这样即可以大大提高数据库的处理速度,同时也可以提高数据库编程的灵活性。

格式

MySQL存储过程创建的格式:CREATE PROCEDURE过程名 ([过程参数[,...]]) procedure

[特性 ...] 过程体

这里先举个例子:

1. mysql> DELIMITER //

2. mysql> CREATE PROCEDURE proc1(OUT s int)

3. -> BEGIN

4. -> SELECT COUNT(*) INTO s FROM user;

5. -> END

6. -> //

7. mysql> DELIMITER ;

参数

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. -> //

mysql > DELIMITER ;

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. -> //

9. mysql > DELIMITER ;

. INOUT参数例子

创建:

1. mysql > DELIMITER //

2. mysql > CREATE PROCEDURE demo_inout_parameter(INOUT p_inout int)

3. -> BEGIN

4. -> SELECT p_inout;

5. -> SET p_inout=2;

6. -> SELECT p_inout;

7. -> END;

8. -> //

9. mysql > DELIMITER ;

注释

MySQL存储过程可使用两种风格的注释

双模杠:--

该风格一般用于单行注释

风格:/* 注释内容 */ 一般用于多行注释
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: