sql >> Databáze >  >> RDS >> Mysql

Jak mít dynamické SQL v MySQL uložené procedury

Po verzi 5.0.13 můžete v uložených procedurách používat dynamické SQL:

delimiter // 
CREATE PROCEDURE dynamic(IN tbl CHAR(64), IN col CHAR(64))
BEGIN
    SET @s = CONCAT('SELECT ',col,' FROM ',tbl );
    PREPARE stmt FROM @s;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;
END
//
delimiter ;

Dynamické SQL nefunguje ve funkcích nebo spouštěčích. Viz dokumentaci MySQL pro více použití.



  1. MySQL - Spouštěč pro aktualizaci stejné tabulky po vložení

  2. Jak provést hromadné vložení v MySQL?

  3. HAS_DBACCESS() – Zjistěte, zda má uživatel přístup k databázi na serveru SQL Server

  4. Jak získám místní data do databáze pouze pro čtení pomocí dplyr?