zoukankan      html  css  js  c++  java
  • 存储过程生辰6位验证码

    CREATE TABLE [_ActivityCode]
    (
     ID BIGINT PRIMARY KEY IDENTITY(1,1),
     ActivityCode CHAR(6)
    )
    GO
    CREATE UNIQUE NONCLUSTERED INDEX Ix__ActivityCode_Name  ON dbo._ActivityCode (ActivityCode)
     
     
    TRUNCATE TABLE [_ActivityCode]
     
    DECLARE @InsertCount INT=100000
     
    DECLARE @ValidCharacters VarCHAR(38) = 'abcdefghjkmnpqrstuvwxyz23456789';
     
     
    DECLARE @i INT=1
    IF object_id('tempdb..#TempCodes') IS NOT NULL
     BEGIN
      DROP TABLE #TempCodes
     END
    Create TABLE #TempCodes
    (
     ActivityCode Char(6)
     
    )
    WHILE @i<=@InsertCount*2
    BEGIN
     DECLARE @Code CHAR(6)=SUBSTRING(@ValidCharacters,(CAST( floor(rand()*30) as INT))+1,1)+
      SUBSTRING(@ValidCharacters,(CAST( floor(rand()*30) as INT))+1,1)+
      SUBSTRING(@ValidCharacters,(CAST( floor(rand()*30) as INT))+1,1)+
      SUBSTRING(@ValidCharacters,(CAST( floor(rand()*30) as INT))+1,1)+
      SUBSTRING(@ValidCharacters,(CAST( floor(rand()*30) as INT))+1,1)+
      SUBSTRING(@ValidCharacters,(CAST( floor(rand()*30) as INT))+1,1)
      INSERT INTO #TempCodes SELECT @Code
      SET @i=@i+1
    END
     
    INSERT INTO dbo.[_ActivityCode]
    (ActivityCode)
    SELECT DISTINCT TOP(@InsertCount) T.ActivityCode
    FROM #TempCodes T
     LEFT JOIN dbo.[_ActivityCode] A ON A.ActivityCode = T.ActivityCode
     WHERE A.ID IS null
     
    SELECT DISTINCT ActivityCode FROM [_ActivityCode] WHERE LEN(ActivityCode)<6
  • 相关阅读:
    imp.load_source的用法
    第12周翻译
    第十周学习笔记
    翻译:高级t
    t-sql
    9周学习笔记
    第8周学习笔记
    t-sql的楼梯:超越基本级别6:使用案例表达式和IIF函数
    数据库设计层次3:构建表
    第七周学习笔记
  • 原文地址:https://www.cnblogs.com/damsoft/p/6100487.html
Copyright © 2011-2022 走看看