zoukankan      html  css  js  c++  java
  • mysql中存储过程

    存储过程procedure

    存储过程,其本质还是函数——但其规定:不能有返回值;

    定义形式:

     

    说明:

    1in:用于设定该变量是用来“接收实参数据”的,即“传入”;默认不写,就是in

    2out:用于设定该变量是用来“存储存储过程中的数据”的,即“传出”,即函数中必须对它赋值;

    3inout:是inout的结合,具有双向作用;

    4,对于,outinout设定,对应的实参,就“必须”是一个变量,因为该变量是用于“接收传出数据”;

    调用存储过程:

    call  存储过程名 (实参1,实参2....

    它应该是在“非编程环境中”调用,即执行增删改查的场景下;

    举例1:

    #创建一个存储过程:

    #该存储过程的目标是:将3个数据写入到表tab_int

    #并返回该表的第一个字段的前3大值的行

     

    调用:

     

    举例2(使用inoutinout):

     

    下面使用正确调用方法:

     

    删除存储过程:

    drop  procedure  存储过程名;

    php中使用存储函数或存储过程的示意

    <php

    //调用存储函数:

    $v1 = $_POST[‘a’];

    $v2 = $_POST[‘b’];

    $sql = “insert  into  tab1  (id,  f2,  f3)  values ( null,  now(),  func1($v1 , $v2 )  )”;

    $result  =  mysql_query($sql);

    //调用存储过程:

    $v1 = $_POST[‘username’];

    $v2 = $_POST[‘pass’];

    $v3 = $_POST[‘age’];

    $sql = “ call   insert_user($v1, $v2,  $v3 ); ”; //insert_user()是一个存储过程,带3个参数,会将该3个参数数据写入(insert)某个表中。

    $result = mysql_query();

    另一个使用存储过程返回结果集的例子:

    $id = $_GET[‘id’];

    $sql = “call  Get_User_Info( $id )  “; //Get_User_Info()是一个存储过程,其中会返回某个指定id的用户信息

    $result = mysql_query($sql); //这里得到的就是“结果集”了

    ?>

  • 相关阅读:
    转载ORACLE批量绑定FORALL与BULK COLLECT
    Oracle Locking Survival Guide
    转载:TOAD中查看执行计划
    Oracle 9i/10g编程艺术笔记第七章 并发与多版本
    C#调用Oracle存储过程返回多结果集
    转载oracle 字符集查看与修改
    转载:Oracle的优化器(Optimizer)
    Oracle 随笔
    转载:Oracle中SQL语句执行效率的查找与解决
    当查询和设置需要输入Pn时界面的处理方法
  • 原文地址:https://www.cnblogs.com/457248499-qq-com/p/7373656.html
Copyright © 2011-2022 走看看