Ответ 1
С помощью функций вы не можете вернуть таблицу.
Однако вы можете использовать хранимую процедуру для возврата таблицы.
DELIMITER $$
CREATE DEFINER=`root`@`%` PROCEDURE `sp_Name`(OUT po_ErrMessage VARCHAR(200))
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
SET po_ErrMessage = 'Error in procedure sp_Name';
END;
SELECT * FROM table_name;
END