首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将表名作为变量触发到存储过程

问将表名作为变量触发到存储过程
EN

Database Administration用户
提问于 2018-02-25 01:40:42
回答 1查看 1.7K关注 0票数 1

我有几个触发器可以激活一个过程,我希望标识使用该触发器的表,并将其用作过程的变量。

另一个选项是将一个变量(表的名称)从触发器传递给过程。

在mysql > 5.7中有可能吗?

我尽量不创建许多过程,我想要一个过程来从触发器变量中创建其他表。

我应该使用哪些保留的MySQL变量?

致以问候。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2018-02-25 02:44:01

MySQL没有提供你想做的事情的方法。

最明显的建议是修改触发器和过程,再添加一个参数,即表名。但由于这是显而易见的,你可能不想这样做。可能是因为触发器和过程在生产中运行,而且它们不能原子地更新(因此,如果首先修改过程,触发器将失败;但如果首先修改触发器,则触发器将失败)。

如果这是原因,我建议使用用户变量。在触发器中,您可以执行如下操作:

代码语言:javascript
复制
SET @table := 'wood_table';

在这个过程中,您将能够检查@table的值。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/198760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档