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

Sådan har du dynamisk SQL i MySQL Stored Procedure

Efter 5.0.13, i lagrede procedurer, kan du bruge dynamisk 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 ;

Dynamisk SQL virker ikke i funktioner eller triggere. Se MySQL-dokumentationen til flere anvendelser.



  1. SQL Server v.Next:STRING_AGG Performance, del 2

  2. SQL Developer 4.1.3 udgivet

  3. Mærkelig SQLAlchemy-fejlmeddelelse:TypeError:'dict'-objekt understøtter ikke indeksering

  4. Hvordan opretter man en MySQL hierarkisk rekursiv forespørgsel?