Есть две таблицы ... 'master' (tblFile) содержит подробную информацию о файлах, которые были обработаны каким-то Java-кодом. PK - это имя файла. Интересующий столбец в этой таблице - столбец статуса (VALID или INVALID).
В подчиненной таблице (tblAnomaly) есть много записей, которые содержат аномалии при обработке каждого файла ... эта таблица имеет FK в качестве имени файла из tblFile ... и наряду с другими столбцами соответствующих данных есть логическое значение столбец типа, который действует как признак принятия аномалии. NULL - это принять. # Нет.
Пользователь вручную пробирается по списку аномалий, представленных в свинговой панели ListPane, и проверяет аномалии, когда они решают проблему в исходном файле. Когда все аномалии устранены, мне нужно изменить статус файла в tblFile на VALID, чтобы его можно было импортировать в базу данных.
Вот триггер, на котором я остановился, разработав операторы по отдельности с помощью редактора SQL. Однако я не знаю, как проверить / отладить оператор триггера после его загрузки в базу данных, поэтому не могу понять, почему он не работает ... без действий и без обратной связи !!
CREATE TRIGGER
updateFileStatus
AFTER UPDATE ON tblAnomaly
WHEN 0 = (SELECT COUNT(*) FROM tblAnomaly WHERE tblAnomaly.file_name = tblFile.file_name AND tblAnomaly.accept = '#')
BEGIN
UPDATE tblFile
SET tblFile.file_status = 'VALID'
WHERE tblFile.file_name = tblAnomaly.file_name;
END;