Conformément à la documentation sur les fonctions définies par l'utilisateur dans MySQL
vous ne pouvez renvoyer que des valeurs de type {STRING|INTEGER|REAL|DECIMAL}
CREATE [AGGREGATE] FUNCTION function_name RETURNS {STRING|INTEGER|REAL|DECIMAL}
SONAME shared_library_name
Si vous voulez lire un select
ensemble de résultats, vous devez définir une procedure
mais pas 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 ;
Et vous pouvez appeler une procédure comme
call myProcedure( 6 )
Cela renvoie des objets implicites basés sur les instructions utilisées dans la procédure.