Mysqlのストアドファンクションとストアドプロシージャの相違
処理結果の返却値の記述方法
ストアドファンクションはRETURN文
ストアドプロシージャはOUT指定したパラメータに値をセット
プロシージャの作成例
パラメータが二つ
in_userid,in_id
パラメータの変数名のつけ方についてテーブルカラム名と同一だと誤操作を起こすためinパラメータには「in_」などど明記すること
またはカラム名を``で囲むことも有効である
ストアドプロシージャ
DELIMITER $$ DROP PROCEDURE IF EXISTS `test`.`pUser` $$ CREATE DEFINER=`testuser`@`localhost` PROCEDURE `pUser`(in in_userid varchar(8),in in_id bigint) BEGIN create Temporary table temp01 (id bigint,userid varchar(8)); insert Into `temp01` (id,userid) select `id` ,`userid` from muser where `userid` = in_userid and `id` = in_id; select * from temp01; END $$ DELIMITER ;