Как проверить / отладить оператор триггера после его загрузки - PullRequest
0 голосов
/ 12 ноября 2018

Есть две таблицы ... '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;

1 Ответ

0 голосов
/ 13 ноября 2018

Так что я решил это! .. вот решение, которое работает.

CREATE TRIGGER
updateFileStatus
AFTER UPDATE ON tblAnomaly
WHEN 0 = (SELECT COUNT(*) 
    FROM tblAnomaly 
    WHERE file_name = old.file_name  
    AND accept = '#')

BEGIN
    UPDATE tblFile
    SET file_status = 'VALID'
    WHERE file_name = old.file_name;
END;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...