构造一个触发器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);
构造触发器时注意以下几点:
1、用 CREATE TRIGGER 语句构造触发器,用 BEFORE或AFTER 来指定在执行后面的SQL语句之前或之后来触发TRIGGER
2、触发器执行的内容写出 BEGIN与END 之间
3、可以使用 NEW与OLD 关键字访问触发后或触发前的employees_test表单记录
我的答案:
CREATE TRIGGER audit_log AFTER INSERTON auditBEGINFOR EACH ROWINSERT INTO AUDIT(EMP_ID,NAME) VALUES (employees_test.ID, employees_test.NAME);END;
答案:
CREATE TRIGGER audit_log AFTER INSERT ON employees_testBEGININSERT INTO audit VALUES (NEW.ID, NEW.NAME);END;
注意 on后为原来的表
begin
insert into audit values(new.ID, );
END;
