В соответствии с документацией по пользовательским функциям в MySQL вы можете возвращать только значения типа {STRING|INTEGER|REAL|DECIMAL}
CREATE [AGGREGATE] FUNCTION function_name RETURNS {STRING|INTEGER|REAL|DECIMAL}
SONAME shared_library_name
. Если вы хотите прочитать набор результатов select
, вы должны определить procedure
, но не function
.
DELIMITER //
DROP PROCEDURE IF EXISTS myProcedure //
CREATE PROCEDURE
myProcedure( id INT )
BEGIN
SELECT * FROM board
-- add where condition if required
WHERE Col_name = id
;
END
//
DELIMITER ;
И вы можете вызвать процедуру, подобную
call myProcedure( 6 )
. Возвращает неявные объекты на основе операторов, используемых в процедуре.