これが悪い例であることは承知していますが、物事を単純化しようとしているので、このコードは回りくどい方法で書かれています。次のようなデータベースにクエリが保存されているとします。
クエリ テーブル
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;
これは私が現在持っているものですが、機能していません。データベースからクエリを選択し、いくつかの変数を渡してクエリを実行しようとしています。