Мы написали сценарий очистки на SQL (DB2) as400 для очистки таблиц. ps мы исправляем процессы, которые вызывают проблемы с данными.
SQL: DELETE FROM p6prodpf A WHERE (0 = (SELECT COUNT(*) FROM P6OPIPF B WHERE B.OPIID = A.OPIID))
Это простой код, проверяющий, есть ли в p6prodpf
запись, не имеющая записи в P6OPIPF
, а затем удалите запись в p6prodpf
.
Моя проблема, с которой я столкнулся, заключается в том, что есть случаи, когда p6prodpf
удаляется, даже если есть запись в P6OPIPF
.
Есть ли способ сделать это лучше или безопаснее .. Есть ли причина, по которой это могло происходить.
Скрипт запускается в 3 часа ночи.
Это также похоже на проблему с секвенированием, но когда я проверяю запись в P6OPIPF
, она существует, но удалена в p6prodpf
.