• 技术文章 >数据库 >MySQL

    inout在mysql存储中怎么用

    小妮浅浅小妮浅浅2021-03-15 20:58:06原创2317

    mysql数据库的存储里,我们已经学过了输入和输出的参数。还有一种参数结合了前面所说两种参数的优势,既能输入也可以输出,不过在值上跟out参数一样,局限于变量,这个参数的名称是inout。下面我们一起来看看inout参数的基本使用以及需要注意的点吧。

    1.inout输入输出参数概念:

    既表示调用者向过程传入值,又表示过程向调用者传出值(值只能是变量)

    2.使用示例:

    mysql> delimiter $$
    mysql> create procedure inout_param(inout p_inout int)
        ->   begin
        ->     select p_inout;
        ->     set p_inout=2;
        ->     select p_inout;
        ->   end
        -> $$
    mysql> delimiter ;
     
    mysql> set @p_inout=1;
     
    mysql> call inout_param(@p_inout);
    +---------+
    | p_inout |
    +---------+
    |       1 |
    +---------+
     
    +---------+
    | p_inout |
    +---------+
    |       2 |
    +---------+
     
    mysql> select @p_inout;
    +----------+
    | @p_inout |
    +----------+
    |        2 |
    +----------+

    调用了inout_param存储过程,接受了输入的参数,也输出参数,改变了变量

    注意:

    ①如果过程没有参数,也必须在过程名后面写上小括号

    例:CREATE PROCEDURE sp_name ([proc_parameter[,...]]) ……

    ②确保参数的名字不等于列的名字,否则在过程体中,参数名被当做列名来处理

    拓展mysql字符串函数:

    1.LEFT(s,n)、RIGHT(s,n)

    前者返回字符串s从最左边开始的n个字符,后者返回字符串s从最右边开始的n个字符

    2.LPAD(s1,len,s2)、RPAD(s1,len,s2)

    前者返回s1,其左边由字符串s2填补到len字符长度,假如s1的长度大于len,则返回值被缩短至len字符;前者返回s1,其右边由字符串s2填补到len字符长度,假如s1的长度大于len,则返回值被缩短至len字符

    3.LTRIM(s)、RTRIM(s)

    前者返回字符串s,其左边所有空格被删除;后者返回字符串s,其右边所有空格被删除

    4.TRIM(s)

    返回字符串s删除了两边空格之后的字符串

    5.TRIM(s1 FROM s)

    删除字符串s两端所有子字符串s1,未指定s1的情况下则默认删除空格

    以上就是mysql存储中inout参数的基本使用,在参数名称和功能上都像是in和out参数的结合。但是不推荐新手使用inout参数,因为使用时的注意点比较多。

    本文教程操作环境:windows7系统、mysql5.8,DELL G3电脑。

    专题推荐:mysql存储inout参数
    上一篇:mysql存储中输出参数是什么 下一篇:mysql客户端如何发起select?

    相关文章推荐

    • 变量在mysql存储中有哪些类型?• 数据库mysql存储中的入参出参理解• if在数据库mysql存储中判断• 数据库mysql存储中case如何转化条件?• mysql中存储过程体是什么语句• mysql存储在语句块贴标签• mysql存储中输出参数是什么

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网