MySQL5创建存储过程实例

来源:互联网 发布:软件外包价格 编辑:程序博客网 时间:2024/04/30 00:30

以下的文章主要是介绍MySQL5创建存储过程的实例演示,MySQL5创建存储在实际操作中应用的频率还是很高的,以下就是MySQL5创建存储过程的实例具体描述,希望在你今后的学习中会有所帮助。

  1 用mysql客户端登入

  2 选择数据库

  mysql>use test

  3 查询当前数据库有哪些存储过程

  mysql>show procedure status where Db='test'

  4 创建一个简单的存储过程

  mysql>create procedure hi() select 'hello';

  5 存储过程创建完毕,看怎么调用它

  mysql>call hi();

  显示结果 mysql> call hi();

  +-------+
  | hello |
   +-------+
   | hello |
  +-------+
  1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec)

  6 一个简单的储存过程就成功了,这只是一个演示,存储过程可以一次执行多个sql语句,所以php只连接数据库一次就能查询多个语句;不过要返回多个结果集就必须用mysqli扩展来查询,否则会提示错误can't return a result set in the given context,所以要使用这些新功能,最好适应使用mysqli的php扩展库

  函数的用法类似,就是多了一个返回值,以上的相关内容就是对MySQL5创建存储过程实例的介绍,望你能有所收获。





 写存储过程方法很多:

下面我写的是比较传统的命令下操作:

进入mysql bin目录

输入:delimiter //

           create procedure two()

            begin

             select * from lw_test order by id desc;

             end

             //

创建成功

查看全部存储过程是:

方法一:

       select `name` from mysql.proc where db = 'your_db_name' and `type` = 'PROCEDURE'

 

方法二:

         show procedure status;

查看具体存储过程的内容是:

show create procedure proc_name;
show create function func_name;

删除存储过程是:

DROP PROCEDURE IF EXISTS proc_name
 
drop procedure proc_name

修改存储过程是

alter procedure proc_name

注意:不过修改存储过程只能修改名称和定义,不能修改具体内容所有,还是删除在创建。我也就没记他了。

调用:

 define('CLIENT_MULTI_RESULTS', 131072);
    $link = mysql_connect("127.0.0.1", "root", "root",1,CLIENT_MULTI_RESULTS) or die("Could not connect: ".mysql_error());
    mysql_select_db("mysqlrock") or die("Could not select database");
    $result = mysql_query("call two()") or die("Query failed:" .mysql_error());
    //加参数MYSQL_ASSOC为关联数组,不加为数组数组。而print_r只能读取数字数组
    $row = mysql_fetch_array($result, MYSQL_ASSOC);
    // print_r($row);  
     while($row = mysql_fetch_array($result, MYSQL_ASSOC))
        {
                 $line = $row["id"].'qqqqqqqqq'.$row["name"];
                 echo $line.'<br/>';
        }

    mysql_free_result($result);
    mysql_close($link);

 

注意:CLIENT_MULTI_RESULTS此参数只名是读取存储过程及语句,在MYSQL,官方翻译知道的的



原创粉丝点击