我有这样的要求,我需要删除过去 800 天内未进行交易的所有客户
我有一个表客户,其中 customerID 是主键 *信用卡表有列 customerID、CreditcardID,其中信用卡是主键* 交易表有列 transactiondatetime、CreditcardID、CreditcardTransactionID 这里是此表中的主键。
所有的交易表数据都在名为 CreditcardTransaction 的视图中,所以我使用该视图来获取信息
我已经编写了一个查询来获取在过去 800 天内完成交易的信用卡并获取他们的 CreditcardID 并将其存储在表中,因为CreditcardTransaction 视图中的数据量约为 60 百万数据我所写的查询失败并记录了消息日志文件已满并引发消息系统内存不足异常。
INSERT INTO Tempcard
SELECT CreditcardID,transactiondatetime
FROM CreditcardTransaction WHERE
DATEDIFF(DAY ,CreditcardTransaction.transactiondatetime ,getdate())>600
因为我需要在他们最后一次 Transactiondatetime 时获取 CreditcardID
需要在 Excel 表格中显示他们的数据,所以我将数据转储到表格中,然后将它们插入 Excel。
我在这里展示的最佳解决方案是什么
我正在使用 SSIS 包(与 2008 R2 相比),我将 SP 转储数据调用到表中,然后执行少量业务逻辑,最后将数据插入到 Excel 表中。
谢谢王子