【发布时间】:2017-12-17 13:08:03
【问题描述】:
我有一个文件名“Sales_20170331”。 现在我需要从这个文件中加载一个事实表。 该表有列 Sale_quarter_date、SaleId sale_quarter_date 列是从我在 ssis 中创建的 @FileName 变量加载的。 现在我需要在 SSIS 中创建执行 sql 任务,该任务将删除事实表中 sale_quarter_date = @FileName 的行。如果 Quarter_date != @FileName 然后加载这些记录。 查询应该类似于
IF EXISTS (SELECT * FROM sys.objects
WHERE object_id = OBJECT_ID(N'[dbo].[Facttable]') AND type in (N'U')
AND (SELECT COUNT(*) FROM [dbo].[FactTable]) >0)
DELETE FROM [dbo].[FactTable]
WHERE sale_quarter_date = @FileName
但查询中似乎有一些错误。 您能帮我修复查询并设计执行 sql 任务吗?
【问题讨论】:
-
这个“一些错误”是什么?您收到什么错误消息?
-
无法将这个特定的@filename 变量映射到我试图从中获取此日期的关键列
-
我在您的查询中没有看到任何错误。问题一定出在其他地方。
标签: sql if-statement ssis sql-server-2012 parameter-passing