【发布时间】:2013-03-26 10:46:37
【问题描述】:
OUT 在 MySQL 存储过程中的作用是什么?
如果我有一个如下所示的简单存储过程:
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `new_routine`(
IN iID int
)
BEGIN
select * from table1 where id = iID;
END
这将通过运行为我提供我想要的所有结果:
call new_routine(7);
那么我为什么要/需要使用OUT?
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `new_routine`(
IN iID int,
OUT vName varchar(100)
)
BEGIN
select name into vName from table1 where id = iID;
END
然后这样称呼它
call new_routine(7, @name);
select @name;
哪个会只给我名称而不是返回的行中的所有内容?
我尝试过 Google 搜索,但显然没有向 Google 提出正确的问题以获得明确的答案。
【问题讨论】:
标签: php mysql stored-procedures