项目中需要批量生成100W不重复的8位数,百度了一大把,修改成了如下Sql,做下笔记,希望对看到的朋友有帮助(下面是生成10W条,条数自己改,性能还可以)

表名:makeExtensionCode

字段:extension_code, is_used, createTime,具体跟句自己需求改动

CREATE PROCEDURE makeExtensionCode AS DECLARE
    @dt datetime
    SET @dt = GETDATE()
    SET NOCOUNT OFF DECLARE
        @row INT
    SET @row = 100000 --记录总数为10W
    WHILE @row > 0
    BEGIN
        RAISERROR ('need %d rows', 10, 1, @row) WITH NOWAIT
    SET ROWCOUNT @row INSERT weixin_extension_code SELECT
        extension_code = RIGHT (
            100000 + CONVERT (
                bigint,
                ABS(CHECKSUM(NEWID()))
            ),
            8
        ),
        is_used = 0,
        createTime = GETDATE()
    FROM
        syscolumns c1,
        sysobjects o
    SET @row = @row - @@ROWCOUNT --设置下次循环需要插入的记录数量

--删除重复数据
    DELETE odao_mobile.dbo.weixin_extension_code
    WHERE
        extension_code IN (
            SELECT
                extension_code
            FROM
                odao_mobile.dbo.weixin_extension_code
            GROUP BY
                extension_code
            HAVING
                COUNT (extension_code) > 1
        )
    AND extension_code_id NOT IN (
        SELECT
            MIN (extension_code_id)
        FROM
            odao_mobile.dbo.weixin_extension_code
        GROUP BY
            extension_code
        HAVING
            COUNT (extension_code) > 1
    )
END
GO

最新文章

  1. yxcms后台验证码不显示?怎么取消yxcms后台验证码
  2. python中的告警处理
  3. Java重点之小白解析--浅谈数据流形式图片上载
  4. Spring之LoadTimeWeaver——一个需求引发的思考---转
  5. centos 基本操作(快捷键开户终端,复制,粘贴,yum命令)
  6. 深入理解Linux字符设备驱动
  7. struts2 笔记03 异常支持、防止页面刷新和后退、方法验证
  8. eclipse右击打war包class没打上去的问题
  9. js动态引入的四种方式
  10. [转]ORACLE 绑定变量用法总结
  11. Wireshark - 过滤规则
  12. Qt HTTP内部构架
  13. HDU--5280(dp或枚举)
  14. [ZooKeeper研究]二 ZooKeeper协议介绍
  15. discuz!代码内置颜色大全(收藏)
  16. 解决opengl计算顶点的法线问题
  17. Oracle JDBC存入图片Blob
  18. 浅谈 JavaScript new 执行过程及function原理
  19. 201521123056 《Java程序设计》第7周学习总结
  20. SpringCloud学习笔记(3)——Hystrix

热门文章

  1. 牛客寒假算法训练1 D 欧拉(容斥)
  2. springMVC整理02--常用注解的使用
  3. Codeforces555 B. Case of Fugitive
  4. requests简单应用
  5. AtCoder Regular Contest 102 E Stop. Otherwise...
  6. LOJ#6285. 数列分块入门 9
  7. Mysql 从入门到遗忘
  8. nginx常用配置
  9. Ubuntu常用软件安装(小集合)
  10. Spring 整合 Hibernate 时启用二级缓存实例详解