我正在尝试为我的“考试”表创建审核跟踪,其中显示了对表中成绩所做的任何更改。
所以我坚持创建触发器,显示更改当前成绩的用户名和日期。
我一直在四处寻找,但无法找到任何东西。任何帮助都将非常感激。
原始表:
CREATE TABLE exam (
student_no INT NOT NULL,
exam_code CHAR(2) NOT NULL,
grade TINYINT NULL,
FOREIGN KEY (student_no) REFERENCES student (student_no),
FOREIGN KEY (exam_code) REFERENCES course (exam_code));
我创建的审计表:
CREATE TABLE Audit (
student_no INT NOT NULL,
exam_code CHAR(2) NOT NULL,
old_grade TINYINT NULL,
updated_grade TINYINT NULL,
Current_username VARCHAR(30),
Date_updated DATETIME
);
CREATE TRIGGER audit_trail
??????
答案 0 :(得分:0)
触发下方可以选择。
CREATE TRIGGER audit_trail
AFTER UPDATE ON exam
FOR EACH ROW
BEGIN
INSERT INTO Audit values(OLD.student_no,OLD.exam_code,OLD.grade,NEW.grade,CURRENT_USER(), CURRENT_TIMESTAMP);
END;
在exam
表中进行任何更新后,上述触发器会将所有相关信息插入Audit
表。
您可以查看演示 here