MySQL存儲過程中的OUT
的目的是什麼?在MySQL存儲過程中OUT的用途是什麼?
如果我有一個簡單的存儲過程,看起來像這樣:
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;
哪位能給我只是名稱,而不是一切從返回的行?
我試過谷歌搜索,但顯然沒有要求谷歌正確的問題得到明確的答案。
所以這就是CALL回傳if OUT和INOUT不使用?它不傳遞值而不使用OUT和INOUT?例如,我的問題中的第一個存儲過程沒有使用OUT或INOUT,但CALL正在傳回值?我不明白。 – oshirowanen 2013-03-26 11:00:12