频繁提交的批量插入 [英] Batch insertion for frequent commits
问题描述
大家好,
我正在尝试使用以下查询循环插入,但它没有循环。有些机构可以帮助我在下面的代码中找到问题吗?提前致谢。
I am trying to loop through the insertion using below query but it is not looping. Could some body help me to find the issue in the below code? Thanks in advance.
DECLARE @Rows INT,
      @BatchSize INT; - 保持低于5000以保证安全
SET @BatchSize = 2000;
SET @Rows = @BatchSize; - 初始化只是为了进入循环
开始尝试
WHILE(@Rows = @BatchSize)
BEGIN
    INSERT INTO dbo.tablename(columns)
SELECT前1000列FROM [RemoteServername] .databasename.dbo.Tablename
    SET @Rows = @@ ROWCOUNT;
结束;
$
END TRY
BEGIN CATCH
返回;
$
END CATCH;
DECLARE @Rows INT,
@BatchSize INT; -- keep below 5000 to be safe
SET @BatchSize = 2000;
SET @Rows = @BatchSize; -- initialize just to enter the loop
BEGIN TRY
WHILE (@Rows = @BatchSize)
BEGIN
INSERT INTO dbo.tablename (columns)
SELECT Top 1000 columns FROM [RemoteServername].databasename.dbo.Tablename
SET @Rows = @@ROWCOUNT;
END;
END TRY
BEGIN CATCH
RETURN;
END CATCH;
谢谢
sri k
推荐答案
WHILE(@Rows< = @BatchSize)
这篇关于频繁提交的批量插入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!