频繁提交的批量插入 [英] Batch insertion for frequent commits

查看:88
本文介绍了频繁提交的批量插入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

我正在尝试使用以下查询循环插入,但它没有循环。有些机构可以帮助我在下面的代码中找到问题吗?提前致谢。

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆