Триггер для таблицы контрольного журнала
Я пытаюсь создать контрольный журнал для моей таблицы "экзамен", который показывает любые изменения, внесенные в оценку на столе.
Так что я застрял на создании триггера, который показывает имя пользователя и дату, которая изменяет текущую оценку.
Я искал вокруг, но ничего не могу найти. Любая помощь будет по достоинству оценена.
Оригинальная таблица:
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
??????
1 ответ
Ниже триггера может быть опция.
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
Таблица.
Вы можете проверить демо здесь