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); //这里得到的就是“结果集”了

    ?>

  • 相关阅读:
    High availability: Oracle RAC vs. RAC One Node vs. Data Guard
    ORACLE 12C RAC修改ocr/votedisk/asm spfile所在磁盘组名称
    Oracle性能排查小案例
    Oracle技术支持是如何分析数据库性能问题的
    【翻译】19C Oracle 安装指导
    Install Grid Infrastructure 12c On Standalone Server
    Linux平台oracle 11g单实例 + ASM存储 安装部署
    HOW TO USE ORACLE RESTART IN ORACLE 11GR2
    单机安装Oracle RAC (zt)
    flink on yarn启动失败
  • 原文地址:https://www.cnblogs.com/457248499-qq-com/p/7373656.html
Copyright © 2011-2022 走看看