Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment renvoyer une table à partir de la fonction MySQL

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.