我知道这是一个不好的例子,但我正在尝试简化事情,所以请以迂回的方式编写这段代码。假设我将查询存储在数据库中,例如
查询表
id query
1 concat('SELECT * FROM table1 WHERE year = ', _year, 'order by name')
2 concat('SELECT * FROM table2 WHERE year = ', _year, 'order by name')
我想运行以下例程
DECLARE _year;
SET _year= "2013";
SET @SQL = (SELECT query FROM queries WHERE id = 1);
PREPARE stmt FROM @SQL;
EXECUTE stmt;
这是我目前拥有的,但它不起作用。我正在尝试从数据库中选择一个查询,将一些变量传递给它,然后运行该查询。