Триггер для таблицы контрольного журнала

Я пытаюсь создать контрольный журнал для моей таблицы "экзамен", который показывает любые изменения, внесенные в оценку на столе.

Так что я застрял на создании триггера, который показывает имя пользователя и дату, которая изменяет текущую оценку.

Я искал вокруг, но ничего не могу найти. Любая помощь будет по достоинству оценена.

Оригинальная таблица:

      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 Таблица.

Вы можете проверить демо здесь

Другие вопросы по тегам