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
    --*/

  • 相关阅读:
    将十六进制数组转换为字符串
    TEA(Tiny Encryption Algorithm)
    Install Atom editor in ubuntu 14.04
    Install Sublime Text 3
    测试键盘的控制字符对应的ASCII码值
    Linux 文件访问权限
    Linux 关机命令
    数据创建命令
    关键词
    MySQL命令总汇
  • 原文地址:https://www.cnblogs.com/dushu/p/2508608.html
Copyright © 2011-2022 走看看