Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So geben Sie eine Tabelle von der MySQL-Funktion zurück

Gemäß Dokumentation zu benutzerdefinierten Funktionen in MySQL
Sie können nur Werte vom Typ {STRING|INTEGER|REAL|DECIMAL} zurückgeben

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

Wenn Sie einen select Ergebnismenge müssen Sie eine procedure definieren aber nicht 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 ;

Und Sie können Prozeduren wie

aufrufen
call myProcedure( 6 )

Das gibt implizite Objekte basierend auf den in der Prozedur verwendeten Anweisungen zurück.