博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mysql储存过程6: in / out / inout
阅读量:5008 次
发布时间:2019-06-12

本文共 1456 字,大约阅读时间需要 4 分钟。

in 为向函数传送进去的值

out 为函数向外返回的值

intout 传送进去的值, 并且还返回这个值

 

create procedure q1(in number int,out name varchar(100))      begin        if number > 1 then        select 'true';        else        select 'false';        end if;      end$

调用时:

call q1(1, @value);

注意, 第二个参数要为变量定义的型式。

这个函数并没有向外发送改变后的name值, 所以调用后 select @value 为null。

 

再看看out:

mysql>     create procedure qq(number int,inout name varchar(100))    ->       begin    ->         if number > 1 then    ->         select 'true';    ->         else    ->         select 'false';    ->         end if;    ->         set name=user();    ->       end$Query OK, 0 rows affected (0.00 sec)mysql> call qq(1,@as)$+-------+| false |+-------+| false |+-------+1 row in set (0.00 sec)Query OK, 0 rows affected (0.01 sec)mysql> select @as$+----------------+| @as            |+----------------+| root@localhost |+----------------+1 row in set (0.00 sec)mysql>

 

inout例子:

mysql> create procedure qqq(inout name varchar(100))    ->       begin    ->         set name=database();    ->       end$Query OK, 0 rows affected (0.00 sec)mysql> call qqq(1)$ERROR 1414 (42000): OUT or INOUT argument 1 for routine test.qqq is not a variable or NEW pseudo-variable in BEFORE triggermysql> call qqq(@abc)$Query OK, 0 rows affected (0.00 sec)mysql> select @abc$+------+| @abc |+------+| test |+------+1 row in set (0.00 sec)mysql>

注意参数型式, 因为他要发送回来, 这个inout的参数型式要跟out类似, 也就是要变量定义型式: @变量名。

 

转载于:https://www.cnblogs.com/perl6/p/7114726.html

你可能感兴趣的文章
vim 插件之vundle
查看>>
数据库多对多关联表(Python&MySQL)
查看>>
[实变函数]1.2 集合的运算
查看>>
第06天
查看>>
设计模式的征途—5.原型(Prototype)模式
查看>>
Fiddler中添加serverIP
查看>>
mysql的某个数据库拒绝访问的问题
查看>>
C# ~ 从 XML 到 Linq 到 Linq to XML
查看>>
常用汉字的五笔拆法
查看>>
1044: [HAOI2008]木棍分割 - BZOJ
查看>>
OSI与TCP/IP模型
查看>>
【IT笔试面试题整理】丑数
查看>>
敏捷开发一千零一问系列之六:业务人员怎样参与开发?
查看>>
双向链表
查看>>
RAL调用
查看>>
freemarker 设置文本内容超过一定长度 用省略号代替
查看>>
jQuery.reveal弹出层使用
查看>>
学习spring in action 第一天
查看>>
asp.net上传功能(单文件,多文件,自定义生成缩略图,水印)
查看>>
bash: ./t.sh:/bin/bash^M:损坏的解释器: 没有那个文件或目录
查看>>