我是靠谱客的博主 昏睡蜗牛,这篇文章主要介绍mysql 触发器 所有表_MySQL触发器可以与多个表或所有表相关联吗?,现在分享给大家,希望可以做个参考。

我已创建此触发器以将值计算值插入表中的字段,以防用户忘记自己放置数据:

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内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(151)

评论列表共有 0 条评论

立即
投稿
返回
顶部