需要初始化表,以便测试。表结构如下:

要求是,组织代码001不变,日期从20140201开始一直到20140430,每一天对应一条数据,d1为2500~3200间的随机数,d2为0~1之间的随机数,当d2为1是,d3随机填写"较大",”严重“,”特大“三个中的一个。求大神 这个初始化表的sql该怎么写?
------解决思路----------------------
DECLARE @days int
DECLARE @seed int
SET @days = DateDiff(day,'2014-02-01','2014-04-30') + 1
SET @seed = 2147483647 / @days
;WITH t1 AS (
SELECT number
FROM master..spt_values
WHERE type = 'p'
AND number < @days
)
,t2 AS (
SELECT DateAdd(day,number,'2014-02-01') [date],
RAND(number*@seed) d0
FROM t1
)
-- INSERT INTO 表1
SELECT '001' Ocode,
[date],
-- d0,
Convert(int,2500+d0*(3200-2500)) d1,
CASE WHEN d0<0.5
THEN 0
ELSE 1
END d2,
CASE WHEN d0<0.5 THEN ''
WHEN d0<0.666666 THEN '较大'
WHEN d0<0.833333 THEN '严重'
ELSE '特大'
END d3
FROM t2
------解决思路----------------------
INSERT INTO TB
SELECT [Ocode],[date],[d1],[d2]
,CASE WHEN [d2]=1 THEN[d3]ELSE''END[d3]
FROM(
SELECT '001'[Ocode],CONVERT(VARCHAR(10),DATEADD(DAY,number,@StartDate),120)[date]
,CAST(CAST(RIGHT(ABS(CHECKSUM(NEWID())),4)AS DECIMAL(19,4))/9999*700+2500 AS INT)[d1]
,RIGHT(ABS(CHECKSUM(NEWID())),1)%2 [d2]
,CASE RIGHT(ABS(CHECKSUM(NEWID())),3)%3 WHEN 0 THEN'较大'WHEN 1 THEN'严重'ELSE'特大'END[d3]
FROM master..spt_values
WHERE type='P' AND number<DATEDIFF(DAY,@StartDate,@EndDate)
)T