SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
--随机生成300个不重复的 纯数字8位数
--注:具体多少是可自定义的 就看你如何去反三
-- =============================================
CREATE PROCEDURE SP_ceshi_random
AS
BEGIN
DECLARE @i INT= 0;
DECLARE @j INT;
DECLARE @qnum INT= 300; --生成随机数的数量
SET NOCOUNT ON
CREATE TABLE #temp_Table ( num INT )
WHILE ( @i < @qnum )
BEGIN
SELECT @j = CAST(FLOOR(RAND() * ( 99999999 - 10000000 )
+ 10000000) AS INT)
IF ( NOT EXISTS ( SELECT num
FROM #temp_Table
WHERE num = @j )
)
BEGIN
INSERT #temp_Table
( num )
VALUES ( @j )
SET @i += 1; --当生成的数值不是临时表里时,就添加并数据+1;继续循环
END
END
SELECT DISTINCT
num
FROM #temp_Table
DROP TABLE #temp_Table
END
GO