SSIS - добавить столбец даты загрузки после загрузки SSIS

Я загружаю ежедневный CSV-файл через пакет SSIS в таблицу SQL Server и каждый раз хочу вставить столбец даты, в котором указано, когда загрузка была завершена. Я подумываю поставить задачу «Выполнение SQL» после задачи потока данных, которая использует запрос ALTER TABLE с GETDATE().

Каждый раз, когда я запускаю пакет SSIS перед загрузкой данных CSV, предыдущие данные перемещаются в таблицу архива, поэтому не нужно беспокоиться о перезаписи данных каждый раз, когда я вставляю столбец.


person Dean Flaherty    schedule 08.08.2016    source источник
comment
Создайте столбец datetime, не допускающий значения NULL, со значением по умолчанию GETDATE(), и он будет заполнен автоматически. Вы определенно не хотите использовать ALTER TABLE - в этом нет необходимости.   -  person Nick.McDermaid    schedule 08.08.2016
comment
Вы каждый раз полностью воссоздаете целевую таблицу? В противном случае вам нужно будет ИЗМЕНИТЬ его только один раз, чтобы добавить столбец даты, а не каждый раз, правильно?   -  person Tab Alleman    schedule 08.08.2016


Ответы (2)


Спасибо за комментарии.

То, что я сделал, поместил в задачу «Выполнить SQL» и использовал код

UPDATE [dbo].[CM25_Current] SET [Upload Date] = (GETDATE());
person Dean Flaherty    schedule 08.08.2016
comment
Вы пробовали мое предложение в комментариях? Если вы используете defatul, то поле заполняется автоматически, и ОБНОВЛЕНИЕ не требуется. Я настоятельно рекомендую применить это ко всем таблицам импорта и промежуточным таблицам. - person Nick.McDermaid; 09.08.2016
comment
Я очень опаздываю на вечеринку, здесь, но стоит отметить, что установка значения по умолчанию для столбца не будет работать, если вы добавляете в таблицу с существующими строками, и вы не можете имитировать даты вставки по умолчанию для старые данные. Я пытаюсь понять это сам и хотел бы увидеть решение на основе SSDT, которое не требует изменения схемы. - person Nate Kennedy; 02.03.2020

Добавление столбца DATETIME с ограничением по умолчанию, установленным как GETDATE (), поможет вашему требованию.

person Kannan Kandasamy    schedule 08.08.2016