概述
我已创建此触发器以将值计算值插入表中的字段,以防用户忘记自己放置数据:
DELIMITER //
CREATE TRIGGER OnNewTableRegistry BEFORE INSERT ON eduardo8_plataforma.tabela
FOR EACH ROW
BEGIN
IF NEW.ut = null THEN
SET NEW.ut = GetUT('tabela');
ELSEIF NEW.ut = '' THEN
SET NEW.ut = GetUT('tabela');
END IF;
END;
//
DELIMITER ;
但我需要对该数据库中的每个表执行相同的操作.是否可以对所有表使用相同的触发器,如果是,我们如何获取在指定了tabela的第6行和第8行中触发使用它的表的名称?
我需要这样的东西:
DELIMITER //
CREATE TRIGGER OnNewTableRegistry BEFORE INSERT ON (* as _TableName)
FOR EACH ROW
BEGIN
IF NEW._TableName.ut = null THEN
SET NEW._TableName.ut = GetUT(_TableName);
ELSEIF NEW._TableName.ut = '' THEN
SET NEW._TableName.ut = GetUT(_TableName);
END IF;
END;
//
DELIMITER ;
最佳答案 不,
syntax没有规定.
允许它是没有意义的,因为NEW关键字必须引用特定的行定义.如果您有两个具有相同行定义的表,则应将它们放入一个表中,另一列表示差异.
最后
以上就是昏睡蜗牛为你收集整理的mysql 触发器 所有表_MySQL触发器可以与多个表或所有表相关联吗?的全部内容,希望文章能够帮你解决mysql 触发器 所有表_MySQL触发器可以与多个表或所有表相关联吗?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复