To není možné, jak je popsáno u dynamického sql / Prepared Statement. Vygenerovalo by to Error Code: 1336. Dynamic SQL is not allowed in stored function or trigger
při pokusu dokonce o CREATE TRIGGER
.
Nejblíže k automatizaci se můžete dostat pomocí CREATE EVENT
. Události jsou naplánované uložené programy, které běží podle plánu / intervalu podle vašeho výběru. Intervaly jsou:
Můžete nastavit "příznak" takříkajíc na řádek, jako je tabulka, kterou zobrazujete výše, která má spouštěč Po vložení. Událost by pak mohla provést Připravené prohlášení dynamicky a spustit jej.
Viz moji odpověď zde na Správě událostí .
Musím říci, že i když běží na události, to, co navrhujete, je téměř Vždy znak špatného návrhu schématu, který by dobře neobstál při vzájemném hodnocení.
Důvodem, proč je dynamický sql a připravený Stmt zakázáno, je to, že spouštěč musí být rychlý a dokonce i DDL by se dalo vplížit do řetězce a spustit. A DDL stmts jako ALTER TABLE
jsou ve spouštěčích zakázány (jejich spuštění může doslova trvat hodiny).
Vaše schéma může mít jednu tabulku sdílenou se sloupcem ven_code
jako sloupec diferenciátoru. Místo toho jste se rozhodli vytvořit nové tabulky pro každý ven_code
. To je obvykle špatná volba designu a výkonu.
Pokud potřebujete pomoc s návrhem schématu, rád si o tom s vámi popovídám v chatovací místnosti.