sql >> Databasteknik >  >> RDS >> Mysql

Hur man har dynamisk SQL i MySQL lagrad procedur

Efter 5.0.13, i lagrade procedurer, kan du använda 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 fungerar inte i funktioner eller triggers. Se MySQL-dokumentationen för fler användningsområden.



  1. Hur man säkerhetskopierar en SQL Server-databas med T-SQL

  2. Kan vi omfördela Oracle tools.jar?

  3. Finns/finns inte:'välj 1' kontra 'välj fält'

  4. Hur konverterar man nummer till sträng i Oracle?