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;
返された行のすべてではなく、名前だけが表示されますか?
私はグーグルを試しましたが、明確な答えを得るためにグーグルに正しい質問をしていないことは明らかです。