SQL生成不重复的随机数

来源:互联网 发布:矩阵论第二版课后答案 编辑:程序博客网 时间:2024/06/08 10:26

WHILE(1=1)
BEGIN
DECLARE @num NVARCHAR(11)
SET @num = '80714'+ CAST(CAST( ( RAND() * ( 999999 - 100000 ) + 100000 ) AS int) AS NVARCHAR(6));

DECLARE @temp INT
SELECT @temp=COUNT(1) FROM TABLE WHERE COLUMN=@num

IF @temp=0
BEGIN
INSERT INTO TABLE (COLUMN) VALUES( @num)
END
DECLARE @ii INT
SELECT @ii= @@IDENTITY;
IF @ii >99999
BEGIN
BREAK
END
END