sql >> Database teknologi >  >> RDS >> Mysql

Sådan returneres tabel fra MySQL-funktionen

I henhold til dokumentation om brugerdefinerede funktioner i MySQL
du kan kun returnere værdier af typen {STRING|INTEGER|REAL|DECIMAL}

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

Hvis du vil læse en select resultatsæt skal du definere en procedure men ikke 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 ;

Og du kan kalde procedure som

call myProcedure( 6 )

Det returnerer implicitte objekter baseret på sætningerne brugt i proceduren.




  1. Brugerdefineret ORDER BY for at ignorere 'den'

  2. MySQL:Tilføj sekvenskolonne baseret på et andet felt

  3. Hvordan kontrollerer man, om MySQL-tabellen er UTF-8 og har storageEngine InnoDB?

  4. Rails 3 Mysql-problemer