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 输入输出参数

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

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

    可当做传入转出参数

  • 相关阅读:
    容器的注册
    context创建过程解析(三)之deployDirectories
    context创建过程解析(二)之deployWARs
    Redis数据类型
    Kafka常用命令
    使用Charles抓包微信小程序
    DO、DTO、BO、AO、VO、POJO定义
    主题样式之鼠标点击效果
    Mysql常用命令
    Linux常用命令
  • 原文地址:https://www.cnblogs.com/weibanggang/p/9664709.html
Copyright © 2011-2022 走看看