【发布时间】:2021-12-08 02:24:45
【问题描述】:
我正在使用 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 能识别这种命令吗?
谢谢。
【问题讨论】:
-
1.您在 DB 和 Infa 中使用的用户是否相同?如果没有,那么您可以尝试使用 infa 用户吗? 2.可以创建存储过程吗?然后调用 pre/post SQL ?
标签: sql-server query-optimization etl sql-delete informatica