MySQL ::在Variable中运行SQL语句

时间:2010-12-15 04:08:16

标签: mysql sql variables

我在MySQL 5.1.40中创建了一个需要运行大量SQL语句的存储过程。

经常重复的一个特定语句会清除临时表:

DELETE FROM w_projection_temp WHERE user_id = uid;

uid 变量是SP的IN参数。

是否可以将整个SQL语句分配给另一个变量,然后以某种方式运行(计算?)新变量?例如:

DECLARE clear_temp VARCHAR;
SET clear_temp = 'DELETE FROM w_projection_temp WHERE user_id = uid;'

MTIA

1 个答案:

答案 0 :(得分:2)

PREPARE clear_temp FROM "DELETE FROM w_projection_temp WHERE user_id = ?"
EXECUTE clear_temp USING uid;
DEALLOCATE PREPARE clear_temp;