関数を使用すると、テーブルを返すことはできません。
ただし、ストアドプロシージャを使用してテーブルを返すことができます。
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