技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> MySQL --> Mysql中的存储过程

Mysql中的存储过程

浏览:2104次  出处信息

    Mysql 5.0 推出来的一个功能,在我看来和oracle差不多的,语法上稍微有一点点不同,下面写了一个例子模板,大家用到时可以很容易套用。

    mysql> delimiter // --语句结束符更改为//

    --定义存储过程

    mysql>create procedure ptest(out return_val int)

    begin

    declare a1 ,b1 int default 5; --定义变量

    declare cur1 cursor for select a from test; --定义游标

    declare exit handler for not found begin insert into test_error(msg) values(\'ptest not found\'); set b1=1 ;end; --定义异常处理(not found)

    declare exit handler for sqlexception set b1=1;--定义异常捕获及处理(sqlexception 表示sql执行异常时)

    open cur1; --打开游标

    repeat

    fetch cur1 into a1;

    until b1=1 --出现任何异常,程序退出

    end repeat;

    close cur1;

    set return_val=a1; --变量赋值

    end;

    //

    mysql> delimiter ; --语句结束符更改回;

    --如何调用存储过程:

    mysql>call ptest(@va);

    注:

    1.创建存储子程序需要CREATE ROUTINE权限

    2.查询存储过程的定义SHOW CREATE PROCEDURE ptest\\G

    3.查询存储过程的状态SHOW CREATE PROCEDURE STATUS LIKE \'ptest\'\\G

    参考:

    http://dev.mysql.com/doc/refman/5.1/zh/stored-procedures.html

建议继续学习:

  1. 写了个Mysql的存储过程    (阅读:2289)
  2. php_call_oracle_procedure    (阅读:1677)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1