MySQLストアド プロシージャからCREATE EVENT sql を実行したい。
- PREPARE では CREATE EVENT が許可されていないため、PREPARE を使用できません。一意のイベントを作成する必要があり、DO セクションでいくつかの日付パラメーターを渡す必要があるため、ランダムな名前を使用したいと考えています。
- MySQL には EXEC がありません。
SQL は次のように構築されます。
SET @sql=CONCAT('CREATE EVENT myevent',md5(concat(@dt1,@dt2)),' ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 0 SECOND
DO
call genRoutes(''',@dt1,''',''',@dt2,''');
');
生成された @sql クエリは次のようになります。
CREATE EVENT myeventcadb1e41722fb3c9b2e6992e740d76ca ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 0 SECOND
DO
call genRoutes('2011-04-07 00:00:00','2011-04-14 00:00:00');
サーバー バージョン 5.1.31-コミュニティ
ストアドプロシージャでこれを行う方法は?