如何在MySQL存储过程中构建和使用动态sql?
发布于 2011-04-20 17:25:54
5.0.13之后,在存储过程中,您可以使用动态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 ;
动态SQL在函数或触发器中不起作用。有关更多用途,请参阅the MySQL documentation。
https://stackoverflow.com/questions/190776
复制相似问题