mysql - 如何在 MySQL 存储过程中使用动态 SQL

标签 mysql dynamic

如何在 MySQL 存储过程中构建和使用动态 SQL?

最佳答案

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更多用途。

关于mysql - 如何在 MySQL 存储过程中使用动态 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31516782/

相关文章:

MYSQL 选择大于 OR 的记录

php - 如何将 MySQL 内容(文本+html 内容)分成列?

algorithm - 增量图算法

oracle - 使用游标在oracle过程中进行动态查询

php - Mysql 和 PHP 问题?

mysql - MYSQL表中多表查找重复项(需要多个条件)

javascript - 动态创建的 DOM 元素的持久显示(隐藏/显示)?

html - 从数据库编译动态 HTML 字符串

php - 使用php计算数据库中用户的时差

javascript - 我有一个 header.jsp,它的样式会随着不同的登录而不断变化,它是一个动态标题