INFORMATICA post/pre SQL Query



我正在使用informatica,我正在从表中删除一部分作为pre sql命令。最近表越来越大,删除需要太多的时间来完成,我试图将我的查询分成小块,它在数据库上工作得很好:

use [My_DB];
GO
DECLARE @BatchSize INT = 1000
WHILE 1 = 1
BEGIN
DELETE TOP (@BatchSize)
FROM [dbo].[My_Table] where condition=0 ;     
IF @@ROWCOUNT < @BatchSize BREAK
END

但是当我在INFORMATICA上尝试它时,它不起作用。根本原因是什么,或者informatica能识别这种命令吗?

谢谢。

如果可能的话,我建议对表进行分区。截断分区是可能的,这几乎不需要花费任何时间。

使用@Koushik建议的存储过程也是一个好主意。

为了得到进一步的帮助,我们需要知道问题的性质。你说"行不通"是什么意思?你得到任何错误吗?

最新更新