zoukankan      html  css  js  c++  java
  • Sqlserver批量生成10w不重复8位数字

    项目中需要批量生成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

  • 相关阅读:
    Nginx流量拷贝
    Nginx基于站点目录和文件的URL访问控制
    Nginx禁止ip访问或非法域名访问
    Nginx动静分离
    Nginx隐藏式跳转(浏览器URL跳转后保持不变)
    Harbor镜像仓库(含clair镜像扫描)
    Pod的QoS服务质量等级
    Pod容器应用"优雅发布"
    Pod容器自动伸缩(HPA) 测试
    NFS双机热备高可用环境
  • 原文地址:https://www.cnblogs.com/wangfajun/p/5431818.html
Copyright © 2011-2022 走看看