问题描述
构造一个触发器audit_log,在向employees_test表中插入一条数据的时候,触发插入相关的数据到audit中。
CREATE TABLE employees_test(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
CREATE TABLE audit(
EMP_no INT NOT NULL,
NAME TEXT NOT NULL
);
Sql语句
转载https://www.nowcoder.com/questionTerminal/7e920bb2e1e74c4e83750f5c16033e2e?f=discussion
构造触发器时注意以下几点:
1、用 CREATE TRIGGER 语句构造触发器,用 BEFORE或AFTER 来指定在执行后面的SQL语句之前或之后来触发TRIGGER
2、触发器执行的内容写出 BEGIN与END 之间
3、触发器中可以通过NEW获得触发事件之后2对应的tablename的相关列的值,OLD获得触发事件之前的2对应的tablename的相关列的值
4、可以使用 NEW与OLD 关键字访问触发后或触发前的employees_test表单记录
可参考:http://www.runoob.com/sqlite/sqlite-trigger.html
create trigger audit_log after insert on employees_test
begin
insert into audit values(NEW.ID, NEW.NAME);
end;