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

相关推荐

点赞 评论 收藏
分享
10-09 00:50
已编辑
长江大学 算法工程师
不期而遇的夏天:1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务