mysql - 如何执行 MySQL 中变量内的内容?

标签 mysql stored-procedures execute stored-functions

我有一个问题可以在 PHP 中解决,但我想在 MySQL 中解决。基本我有一个存储函数,TASK_ASSIGN(id_task,operator)

我还有一个函数SELECT exec FROMtask。这些任务有一个 exec 列,在里面我保存 TASK_ASSIGN(id_task, operator) 格式来执行。

如果可能的话,我想在存储函数或过程中执行。有人可以帮助我吗?

最佳答案

解决方案是一个具有以下来源的存储过程:

BEGIN
    DECLARE $execute_function VARCHAR(100);

    -- Get the waiting function for execution
    SELECT `exec` INTO $execute_function FROM `tasks` WHERE `id_task` = '1';

    -- Create a session variable with the complete select
    SET @query = CONCAT("SELECT ",$execute_function," AS result");

    -- Execute the custom query
    PREPARE execute_query FROM @query; 
    EXECUTE execute_query;
    DEALLOCATE PREPARE execute_query; 
END;

感谢wchiquito建议准备好的陈述。

关于mysql - 如何执行 MySQL 中变量内的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29435589/

相关文章:

sql - 调用存储过程错误: Error converting data type nvarchar to datetime

C#:检索非参数化存储过程查询的输出参数?

MySQL函数参数检查是否为NULL

java - 执行 JFrame 程序

php - 用户返回时查询缓存

php - 为什么这没有提取任何数据?

php - 如何从日期搜索?

sql - 关系数据库设计 (MySQL)

javascript - JS倒计时清除文本文件

javascript - Chrome 扩展 - 如何执行具有按钮单击功能的 javascript 文件?