题解 | #构造一个触发器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;: 标志着触发器程序体的结束。至此,触发器定义完成。
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 13:05
TMD找工作本来就烦,这东西什么素质啊😡
Beeee0927:hr是超雄了,不过也是有道理的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务