2016-02-25 74 views
0

如何在不知道表名的情况下引用触发器代码中触发的表?我的意思是,我需要获取该代码并将其粘贴到20个触发器中,每个触发器用于不同的表格。 : -/如何在触发器代码中使用表名作为变量? MySQL/MariaDB

CREATE TRIGGER register_eventLog_for_table_xyz 
AFTER UPDATE ON xyz 
FOR EACH ROW BEGIN 
    CALL reg_event(@this_tableName, dataChanged); 
END 
+0

我不知道任何内部的函数将返回正在运行的存储过程的名称或触发器所附表的名称。您需要将表名硬编码到参数中。 – Shadow

+0

也许我在做梦,但我记得在互联网上的某处看到它,但我不记得该网站是什么。 – PSyLoCKe

+0

你的应用程序可以使用SET语句来初始化一个mysql用户变量来存储表名,并且你的触发器可以使用相同的变量来设置表名。我真的不会想到其他任何东西。 – Shadow

回答

0

建立一个脚本来看看information_schema.TABLES找到表的列表,并为每个表TRIGGER。它也会为表名创建字符串。

相关问题