sql >> Databasteknik >  >> RDS >> Mysql

Hur man returnerar tabell från MySQL-funktionen

Enligt dokumentation om användardefinierade funktioner i MySQL
du kan bara returnera värden av typen {STRING|INTEGER|REAL|DECIMAL}

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

Om du vill läsa en select resultatuppsättning måste du definiera en procedure men inte 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 ;

Och du kan ringa proceduren som

call myProcedure( 6 )

Det returnerar implicita objekt baserat på de satser som används i proceduren.




  1. Använda INNER JOIN för att kombinera SQL Server-tabeller och visa dem i ASP.NET-webbformulär

  2. Matcha '%'-tecken när du söker i MySQL-databas

  3. Hur man beställer efter antal i SQL?

  4. ta bort millisekunder från ett oracle tmstmp-fält