我有来自 datastage 的数据,这些数据被放入我们的 SQL Server 2008 数据库中的表中:stg_table_outside_data
. 我们的来源每天早上都将数据放入该表中。我想将数据从我保留多天数据 stg_table_outside_data
的地方移动。table_outside_data
我创建了一个存储过程,将数据从中stg_table_outside_Data
插入table_outside_data
然后截断stg_table_outside_Data
。外部的 datastage 进程不在我的控制范围内,所以我必须在 SQL Server 2008 中完成这一切。我原本计划使用一个简单的 after insert 语句,但 datastage 在每 100,000 行之后执行一次提交。触发器将在第一次提交后运行,并导致数据阶段进程出现死锁错误。
有没有办法设置插入后等待 30 分钟,然后确保在该时间范围内没有新的提交?我的问题有更好的解决方案吗?目标是将数据从临时表中取出并进入工作表而不重复,然后截断临时表以供第二天早上的负载使用。
感谢您的时间和帮助。