我有几个触发器可以激活一个过程,我希望标识使用该触发器的表,并将其用作过程的变量。
另一个选项是将一个变量(表的名称)从触发器传递给过程。
在mysql > 5.7中有可能吗?
我尽量不创建许多过程,我想要一个过程来从触发器变量中创建其他表。
我应该使用哪些保留的MySQL变量?
致以问候。
发布于 2018-02-25 02:44:01
MySQL没有提供你想做的事情的方法。
最明显的建议是修改触发器和过程,再添加一个参数,即表名。但由于这是显而易见的,你可能不想这样做。可能是因为触发器和过程在生产中运行,而且它们不能原子地更新(因此,如果首先修改过程,触发器将失败;但如果首先修改触发器,则触发器将失败)。
如果这是原因,我建议使用用户变量。在触发器中,您可以执行如下操作:
SET @table := 'wood_table';在这个过程中,您将能够检查@table的值。
https://dba.stackexchange.com/questions/198760
复制相似问题