2016-08-08 5 views
0

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

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

+0

Создайте столбец с нулевым значением datetime с по умолчанию 'GETDATE()' и он будет заполнен автоматически. Вы определенно не хотите использовать 'ALTER TABLE' - это необязательно. –

+0

Вы все время воссоздаете таблицу назначения? В противном случае вам нужно будет только ALTER его один раз, чтобы добавить столбец даты, а не каждый раз, исправить? –

ответ

0

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

То, что я сделал ставится в Execute SQL Task и использовал код

UPDATE [dbo].[CM25_Current] SET [Upload Date] = (GETDATE()); 
+0

Вы попробовали мое предложение в комментариях? Если вы используете defatul, тогда поле автоматически заполняется и UPDATE не требуется. Я настоятельно рекомендую, чтобы это применялось ко всем таблицам импорта и промежуточного хранения. –

0

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