sql >> Base de Datos >  >> RDS >> Mysql

Cómo devolver la tabla desde la función MySQL

Según la documentación sobre funciones definidas por el usuario en MySQL
solo puede devolver valores de tipo {STRING|INTEGER|REAL|DECIMAL}

CREATE [AGGREGATE] FUNCTION function_name RETURNS {STRING|INTEGER|REAL|DECIMAL}
    SONAME shared_library_name

Si desea leer un select conjunto de resultados tiene que definir un procedure pero no 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 ;

Y puede llamar a un procedimiento como

call myProcedure( 6 )

Eso devuelve objetos implícitos basados ​​en las declaraciones utilizadas en el procedimiento.