MySQL 存储过程理解

/*********************************************************************************
 *                           MySQL 存储过程理解
 * 说明:
 *     挺久以前听梦真说过存储过程,不过一直没有去理解到底是什么,今天想到,就查点
 * 资料,看一下到底什么。
 *
 *                                              2017-11-6 深圳 南山平山村 曾剑锋
 ********************************************************************************/


一、参考文章:
    1. MySQL存储过程详解  mysql 存储过程
        http://blog.sina.com.cn/s/blog_52d20fbf0100ofd5.html

二、格式
    MySQL存储过程创建的格式:CREATE PROCEDURE 过程名 ([过程参数[,...]])
    [特性 ...] 过程体

三、示例: 
    3.1 code:
        mysql> DELIMITER //  
        mysql> CREATE PROCEDURE proc1(OUT s int)  
            -> BEGIN 
            -> SELECT COUNT(*) INTO s FROM user;  
            -> END 
            -> //  
        mysql> DELIMITER ; 
    3.2 注释:
        (1)这里需要注意的是DELIMITER //和DELIMITER ;两句,DELIMITER是分割符的意思,因为MySQL默认以";"为分隔符,如果我们没有声明分割符,那么编译器会把存储过程当成SQL语句进行处理,则存储过程的编译过程会报错,所以要事先用DELIMITER关键字申明当前段分隔符,这样MySQL才会将";"当做存储过程中的代码,不会执行这些代码,用完了之后要把分隔符还原。2)存储过程根据需要可能会有输入、输出、输入输出参数,这里有一个输出参数s,类型是int型,如果有多个参数用","分割开。
        (3)过程体的开始与结束使用BEGIN与END进行标识。

 

posted on 2017-11-06 11:30  zengjf  阅读(253)  评论(0编辑  收藏  举报

导航