题解 | #构造一个触发器audit_log#

构造一个触发器audit_log

https://www.nowcoder.com/practice/7e920bb2e1e74c4e83750f5c16033e2e

CREATE trigger audit_log

after insert on employees_test

for each row

begin

insert into audit (EMP_no,NAME)

values (new.ID,new.NAME);

end;

这段 SQL 语句创建了一个名为 audit_log 的触发器,用于在 employees_test 表进行 INSERT 操作后自动记录审计信息。以下是逐行解释:CREATE TRIGGER audit_log: 声明要创建一个名为 audit_log 的触发器。AFTER INSERT ON employees_test: 指定触发器的触发时机和关联表。此触发器将在 employees_test 表发生 INSERT 操作 之后 触发。也就是说,每当有新记录插入到 employees_test 表中时,该触发器将被激活。FOR EACH ROW: 表明这是一个行级触发器,即对 employees_test 表上每次 INSERT 操作涉及的每一行单独执行。如果一次 INSERT 语句插入多行数据,触发器将对每一行分别触发一次。BEGIN: 标志着触发器程序体的开始。在这之后直到 END; 之间的 SQL 语句将作为触发器的动作,在触发条件满足时执行。INSERT INTO audit (EMP_no, NAME) VALUES (new.ID, new.NAME);: 这是触发器的核心操作,即在触发时执行的 SQL 语句。此语句执行了一个 INSERT 语句,将数据插入到 audit 表中:

  • EMP_no 列接收 new.ID 的值。在行级触发器中,new 是一个临时上下文变量,代表触发 INSERT 事件时插入的新行数据。这里取 new.ID,即新插入员工记录的 ID 值。
  • NAME 列接收 new.NAME 的值,即新插入员工记录的 NAME 值。 END;: 标志着触发器程序体的结束。至此,触发器定义完成。
全部评论

相关推荐

我是小红是我:学校换成中南
点赞 评论 收藏
分享
小火柴燃烧吧:接啊,接了之后反手在咸鱼找个大学生搞一下,量大从优
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务