首页 新闻 搜索 专区 学院

大批量更新数据,如何写SQL进行分批更新

0
悬赏园豆:5 [已解决问题] 解决于 2011-12-09 14:30

如题:大批量更改数据需要分批进行  ,每次处理2000条,暂停10S

不知道怎么写了,求解释!

sql
胥健的主页 胥健 | 初学一级 | 园豆:151
提问于:2011-12-09 10:25
< >
分享
最佳答案
1
收获园豆:5
邀月 | 高人七级 |园豆:25475 | 2011-12-09 10:38
其他回答(3)
0

写sp4,传xml格式的字符串到数据库然后取出来.....

Snail的梦 | 园豆:278 (菜鸟二级) | 2011-12-09 11:04
0

DECLARE @num int
DECLARE @size int
DECLARE @BeginSize int

SELECT
    @num=COUNT(1)
FROM [IPP3].[dbo].[News]

SET @size=@num/2000
SET @BeginSize=0

IF (2000*@size<@num)
    BEGIN
    SET @size=@size+1
    END
 
  WHILE @BeginSize<@size
  BEGIN
      WAITFOR delay '00:00:10';
    UPDATE N
    SET N.AreaShow='111'   
    FROM (
            SELECT TOP 2000 *
            FROM [IPP3].[dbo].[News] WHERE SysNo NOT IN (SELECT TOP (2000*@BeginSize) SysNo FROM [IPP3].[dbo].[News])
    ) N
       SET @BeginSize=@BeginSize+1
      
       PRINT @BeginSize
  END

胥健 | 园豆:151 (初学一级) | 2011-12-09 14:29

IPP3,哈哈哈。。

支持(0) 反对(0) Jesong | 园豆:4 (初学一级) | 2013-05-08 21:55
0

select * from

xiaomi_dai | 园豆:202 (菜鸟二级) | 2013-05-27 15:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册