我有数据从正在把我们的SQL Server 2008数据库中的表的DataStage进来:stg_table_outside_data
。我们的来源是每天早上将数据放入表格中。我想将数据从stg_table_outside_data
移到table_outside_data
,我在那里保存了多天的数据。INSERT触发器后 - SQL Server 2008中
我创建了一个存储过程,将stg_table_outside_Data
中的数据插入table_outside_data
,然后截断stg_table_outside_Data
。外部datastage过程不在我的控制范围之内,所以我必须在SQL Server 2008中完成所有操作。我原本计划在insert语句后使用简单的数据,但是datastage在每100,000行之后进行一次提交。触发器会在第一次提交之后运行,并导致数据传输进程出现死锁错误。
有没有一种方法来设置插入后要等待30分钟,然后确保有没有规定时间内一个新的承诺?有没有更好的解决方案来解决我的问题?我们的目标是将数据从临时表中移出并进入工作表,不会出现重复,然后截断第二天早上装载的临时表。
我感谢您的时间和帮助。
我希望我能。我们公司不会让我们设定预定的工作。我们必须让DBA参与进来,项目计划让我们走出了3个月。我有我们在等待名单上,但我希望找到一个临时解决方案。 – Azzna 2010-01-12 17:36:53
需要3个月的时间才能获得dba安排工作?五分钟或更少的任务?真?但他们让你陷入触发器?多么奇怪。 – HLGEM 2010-01-12 18:29:03
我们不允许安排工作,因为他们无法阻止我们安排工作从公司内的其他数据库获取数据。但是,我们可以设置触发器,因为它是构建的并包含在我们自己的数据库中。 – Azzna 2010-01-12 19:48:42