zoukankan      html  css  js  c++  java
  • 生成纯数字随机编号的示例.sql

    --取得随机数的视图
    CREATE VIEW v_RAND
    AS
    SELECT re=STUFF(RAND(),1,2,'')
    GO

    --生成随机编号的函数
    CREATE FUNCTION f_RANDBH(@BHLen int)
    RETURNS varchar(50)
    AS
    BEGIN
     DECLARE @r varchar(50)
     IF NOT(ISNULL(@BHLen,0) BETWEEN 1 AND 50)
      SET @BHLen=10

    lb_bh: --生成随机编号的处理
     SELECT @r=re FROM v_RAND
     WHILE LEN(@r)<@BHLen
      SELECT @r=@r+re FROM v_RAND
     SET @r=LEFT(@r,@BHLen)

     --检查编号在基础数据表中是否存在
     IF EXISTS(SELECT * FROM tb WITH(XLOCK,PAGLOCK) WHERE BH=@r)
      GOTO lb_bh

     RETURN(@r)
    END
    GO

    --创建引用生成随机编号的函数
    CREATE TABLE tb(
    BH char(10) PRIMARY KEY DEFAULT dbo.f_RANDBH(10),
    col int)

    --插放数据
    BEGIN TRAN
     INSERT tb(col) VALUES(1)
     INSERT tb(col) VALUES(2)
     INSERT tb(col) VALUES(3)
    COMMIT TRAN
    SELECT * FROM tb
    GO
    /*--结果
    BH                   col
    ------------------------------ -----------
    6128177354           1
    7378536177           3
    8387186129           2
    --*/

  • 相关阅读:
    只有在人生的最低处才能看清这个世界
    深刻理解JavaScript原型链
    常用的正则表达式
    JS容易犯错的this和作用域
    站立会议第二天
    站立会议第一天
    典型用户分析
    第七周学习进度
    第六周学习进度
    最大子数组三
  • 原文地址:https://www.cnblogs.com/dushu/p/2508608.html
Copyright © 2011-2022 走看看