inout在mysql存储中怎么用

美女程序员鼓励师

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电脑。

以上是 inout在mysql存储中怎么用 的全部内容, 来源链接: utcz.com/z/541853.html

回到顶部