Усекать целевую таблицу на основе строк в целевом плоском файле

У меня есть рабочий процесс, который загружает данные из плоского файла в рабочую таблицу после нескольких основных проверок нескольких столбцов. В отображении каждый раз, когда моя проверка завершается неудачно (имеется в виду, если столбец имеет недопустимое значение), я делаю запись в ErrorFlatFile с error text.

Теперь у меня есть две цели в моем отображении. Одна из них — таблица Stage, а другая — плоский файл ошибок.

Чего я хочу добиться, так это? Даже если в ErrorFlatFile (indicating there is an error in the source file ) есть одна запись, я хочу обрезать таблицу целевых этапов.

Может кто-нибудь, пожалуйста, помогите мне с тем, как я могу сделать это на уровне сеанса.

Спасибо,


person user3410792    schedule 12.03.2014    source источник


Ответы (1)


Вам понадобится еще один сеанс. Создайте фиктивный сеанс (который не читает данные) и добавьте оператор Pre или Post-SQL:

TRUNCATE TABLE YourTargetStageTableName

Создайте ссылку из существующей сессии на фиктивную и добавьте условие, например:

$PMTargetName@numAffectedRow > 0

заменив TargetName на имя вашего ErrorFlatFileName. Второй сеанс должен выполняться только в том случае, если в файле ошибок была сделана запись. Если не будет ошибок, его не следует выполнять.

person Maciejg    schedule 12.03.2014