`

MYSQL存储过程一

 
阅读更多
一、存储过程

    存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定的存储过程的名字、并给出相关参数来执行它。

二、优点:

    1、较快的执行速度。如果某一操作包含大量的SQL语句或者分别被多次执行,那么存储过程比批处理的执行速度要快。因为存储过程是预编译的,在初次执行时,优化器对其进行分析优化,以后执行就不需要再次编译了。而批处理每次都需要编译和分析。

    2、减少网络流量。调用存储过程,传输的仅仅是调用语句。

    3、增强了SQL语言的功能和灵活,存储过程可以用流控制语句编写,有很强的灵活性,可以完成比较复杂的运算。

三、创建:

    1、MySQL存储过程创建的格式:CREATE PROCEDURE 过程名 ([过程参数[,...]]) 过程体
   
    2、这里先举个例子:

    mysql> DELIMITER // 
    mysql> CREATE PROCEDURE proc1(OUT s int) 
        -> BEGIN
        -> SELECT COUNT(*) INTO s FROM user; 
        -> END
        -> // 
注:

(1)DELIMITER //是分割符的意思,

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

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

(4) 声明分割符

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

(5) 参数

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

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

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

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

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

四、调用:

   用call和你过程名以及一个括号,括号里面根据需要,加入参数,参数包括输入参数、输出参数、输入输出参数。

五、修改、删除


   ALTER PROCEDURE  存储过程名
   DROP PROCEDURE   存储过程名


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics