Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como retornar a tabela da função MySQL


Conforme documentação sobre funções definidas pelo usuário no MySQL
você só pode retornar valores do tipo {STRING|INTEGER|REAL|DECIMAL}
CREATE [AGGREGATE] FUNCTION function_name RETURNS {STRING|INTEGER|REAL|DECIMAL}
    SONAME shared_library_name

Se você quiser ler um select conjunto de resultados você tem que definir um procedure mas não 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 ;

E você pode chamar um procedimento como
call myProcedure( 6 )

Isso retorna objetos implícitos com base nas instruções usadas no procedimento.