zoukankan      html  css  js  c++  java
  • [轉]PHP与MYSQL的存储过程

    轉自:http://blog.csdn.net/binger819623/archive/2010/03/15/5382300.aspx

    实例一:无参的存储过程
    $conn = mysql_connect('localhost','root','root') or die ("数据连接错误!!!");
    mysql_select_db('test',$conn);
    $sql = "
    create procedure myproce()
    begin
    INSERT INTO user (id, username, sex) VALUES (NULL, 's', '0');
    end;
    ";
    mysql_query($sql);//创建一个myproce的存储过程

    $sql = "call test.myproce();";
    mysql_query($sql);//调用myproce的存储过程,则数据库中将增加一条新记录。

    实例二:传入参数的存储过程
    $sql = "
    create procedure myproce2(in score int)
    begin
    if score >= 60 then
    select 'pass';
    else
    select 'no';
    end if;
    end;
    ";
    mysql_query($sql);//创建一个myproce2的存储过程
    $sql = "call test.myproce2(70);";
    mysql_query($sql);//调用myproce2的存储过程,看不到效果,可以在cmd下看到结果。

    实例三:传出参数的存储过程
    $sql = "
    create procedure myproce3(out score int)
    begin
    set score=100;
    end;
    ";
    mysql_query($sql);//创建一个myproce3的存储过程
    $sql = "call test.myproce3(@score);";
    mysql_query($sql);//调用myproce3的存储过程
    $result = mysql_query('select @score;');
    $array = mysql_fetch_array($result);
    echo '<pre>';print_r($array);

    实例四:传出参数的inout存储过程
    $sql = "
    create procedure myproce4(inout sexflag int)
    begin
    SELECT * FROM user WHERE sex = sexflag;
    end;
    ";
    mysql_query($sql);//创建一个myproce4的存储过程
    $sql = "set @sexflag = 1";
    mysql_query($sql);//设置性别参数为1
    $sql = "call test.myproce4(@sexflag);";
    mysql_query($sql);//调用myproce4的存储过程,在cmd下面看效果


    实例五:使用变量的存储过程
    $sql = "
    create procedure myproce5(in a int,in b int)
    begin
    declare s int default 0;
    set s=a+b;
    select s;
    end;
    ";
    mysql_query($sql);//创建一个myproce5的存储过程
    $sql = "call test.myproce5(4,6);";
    mysql_query($sql);//调用myproce5的存储过程,在cmd下面看效果

    实例六:case语法
    $sql = "
    create procedure myproce6(in score int)
    begin
    case score
    when 60 then select '及格';
    when 80 then select '及良好';
    when 100 then select '优秀';
    else select '未知分数';
    end case;
    end;
    ";
    mysql_query($sql);//创建一个myproce6的存储过程
    $sql = "call test.myproce6(100);";
    mysql_query($sql);//调用myproce6的存储过程,在cmd下面看效果

    实例七:循环语句
    $sql = "
    create procedure myproce7()
    begin
    declare i int default 0;
    declare j int default 0;
    while i<10 do
    set j=j+i;
    set i=i+1;
    end while;
    select j;
    end;
    ";
    mysql_query($sql);//创建一个myproce7的存储过程
    $sql = "call test.myproce7();";
    mysql_query($sql);//调用myproce7的存储过程,在cmd下面看效果


    实例八:repeat语句
    $sql = "
    create procedure myproce8()
    begin
    declare i int default 0;
    declare j int default 0;
    repeat
    set j=j+i;
    set i=i+1;
    until j>=10
    end repeat;
    select j;
    end;
    ";
    mysql_query($sql);//创建一个myproce8的存储过程
    $sql = "call test.myproce8();";
    mysql_query($sql);//调用myproce8的存储过程,在cmd下面看效果

    实例九:loop语句
    $sql = "
    create procedure myproce9()
    begin
    declare i int default 0;
    declare s int default 0;

    loop_label:loop
    set s=s+i;
    set i=i+1;
    if i>=5 then
    leave loop_label;
    end if;
    end loop;
    select s;
    end;
    ";
    mysql_query($sql);//创建一个myproce9的存储过程
    $sql = "call test.myproce9();";
    mysql_query($sql);//调用myproce9的存储过程,在cmd下面看效果

    实例十:删除存储过程
    mysql_query("drop procedure if exists myproce");//删除test的存储过程
    实例十:存储过程中的游标
    总结中。

    資料

     http://webservices.ctocio.com.cn/482/8867982.shtml

    http://hi.baidu.com/feifei0730/blog/item/250b30c77a697ed7d0006040.html

    Google Search php mysql執行存儲過程

    申明

    非源创博文中的内容均收集自网上,若有侵权之处,请及时联络,我会在第一时间内删除.再次说声抱歉!!!

    博文欢迎转载,但请给出原文连接。

  • 相关阅读:
    oc 基本基础类型之NSString
    oc 内存管理
    自定义的init方法和重写的init方法
    property属性
    iOS 开发朗读文字
    获取当前最顶层的ViewController
    二维码扫描的简单封装
    OC百度导航类的封装
    OC上传图片的封装(配合AFNetWorkiing)
    集成百度地图报错41个解决方法(转)
  • 原文地址:https://www.cnblogs.com/Athrun/p/1719077.html
Copyright © 2011-2022 走看看