У меня есть большой набор записей ( 1.2m + записи ) в таблице, в которую соответственно добавляются / обновляются ежедневные записи.
Теперь у меня появилось новое бизнес-требование.
Требование следующее:
ЕСЛИ CURRENT_DAY равен 01, т. Е. Каждый 1-й день месяца таблица будет TRUNCATED, если нет, тогда обычное задание вставки / обновления будет продолжено.
Я решил с конца INFORMATICA ETL, logi c будет таким, как показано ниже,
SQ: SELECT * FROM SOME_TABLE WHERE 1=2
т.е. , Нет никаких исходных записей
SQ > EXP > NEW OUTPUT PORT > TO_CHAR(SYSDATE,'DD') - CURR_DAY
Сейчас,
EXP > RTR > NEW GROUP > CURR_DAY = '01'
Тогда,
RTR > NEW GROUP > TGT > SESSION PROPERTIES > ENABLED TRUNCATE
Таким образом, требование выполнено.
Но я хочу знать, есть ли другой способ добиться этого, используя ТОЛЬКО ЧИСТУЮ ПЛ / SQL или SQL?
Пожалуйста, ведите меня.