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