DELIMITER $$ DROP PROCEDURE IF EXISTS `ladder`.`activate_player`$$ CREATE DEFINER=`epswing`@`%.erin.utoronto.ca` PROCEDURE `activate_player`( in in_actkey varchar(40), out result tinyint(1) ) begin declare tmp_id int(11); declare tmp_name varchar(40); if (is_actkey(in_actkey)) then -- store name select id, concat(fname, ' ', lname) into tmp_id, tmp_name from player where actkey = in_actkey; -- remove activation key update player set actkey = '' where actkey = in_actkey; -- add to news insert into news ( p1, p2, type, message ) values ( tmp_id, 0, 1, concat(tmp_name, ' activated') ); set result = 0; -- all good else set result = 1; -- invalid act key or already activated end if; end$$ DELIMITER ;