zoukankan      html  css  js  c++  java
  • MySQL 存储过程参数IN OUT INOUT区别

    MySQL 存储过程参数IN OUT INOUT对比

    一、IN

    -- 创建测试存储过程
    
    delimiter //
    create procedure p_in ( IN num int )
    begin
        select num;
        set num=100;
        select num;
    end;
    //
    delimiter ;
    
    set @num=100;
    call p_in(@num)

    二、OUT

    -- 创建测试存储过程
    
    delimiter //
    create procedure p_out ( OUT num int )
    begin
        select num;
        set num=100;
        select num;
    end;
    //
    
    delimiter ;
    
    set @num=100;
    call p_out(@num)

    三、INOUT

    -- 创建测试存储过程
    
    delimiter //
    create procedure p_inout ( INOUT num int )
    begin
        select num;
        set num=100;
        select num;
    end;
    //
    delimiter ;
    
    set @num=100;
    call p_inout(@num)

     总结:

    IN 输入参数

    表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值

    仅需要将数据传入存储过程,并不需要返回计算后的该值。

    只能当做传入参数

    OUT 输出参数

    该值可在存储过程内部被改变,并可返回

    不接受外部传入的数据,仅返回计算之后的值。

    只能当做转出参数

    INOUT 输入输出参数

    调用时指定,并且可被改变和返回

    需要数据传入存储过程经过调用计算后,再传出返回值

    可当做传入转出参数

  • 相关阅读:
    多目标演化算法
    socket编程与线程模型二
    把DataGrid控件定制成漂亮的课程表
    socket编程与线程模型五
    socket编程与线程模型一
    关于RSS的点滴
    对.net事件的看法
    IIs上的证书安装要点
    2d游戏斜视角地图的实现
    Invoke and BeginInvoke
  • 原文地址:https://www.cnblogs.com/weibanggang/p/9664709.html
Copyright © 2011-2022 走看看