--> 生成测试数据: @T DECLARE @T TABLE (id INT IDENTITY,date DATETIME,dzbz NUMERIC(2,1),fssd NUMERIC(2,1),dzxh VARCHAR(6),ylxh INT,com VARCHAR(4))--SQL查询如下:INSERT @T(date,dzbz,fssd,dzxh,ylxh,com) SELECT TOP(1000) --这里设置多少行 DATEADD(hour,ROW_NUMBER() OVER(ORDER BY o.object_id)/24,'2009-05-01') AS Date, (ABS(CHECKSUM(NEWID())) % 5 + 4) / 10. AS dzbz, (ABS(CHECKSUM(NEWID())) % 3 + 12) / 10. AS fssd, 'DZ_00' + RTRIM(CASE WHEN ROW_NUMBER() OVER(ORDER BY o.object_id) % 4 = 0 THEN 4 ELSE ROW_NUMBER() OVER(ORDER BY o.object_id) % 4 END) AS dzxh, 1 AS ylxh, CASE WHEN ((ROW_NUMBER() OVER(ORDER BY o.object_id)-1) / 4 % 4) %2 = 0 THEN 'com1' ELSE 'com2' END AS com FROM sys.columns AS c CROSS JOIN sys.objects AS o
--显示结果 SELECT * FROM @T;
直接用个循环就可以了 declare @i varchar(max) set @i=1 while @i<1000001 begin insert into tablename values ('长征'+cast(@i as varchar)+'号' ,25+@i) set @i=@i+1 end
declare @table table (a varchar(20)) declare @i int set @i=1 while @i <1000001 begin insert into @table values ('长征'+cast(@i as varchar)+'号') set @i=@i+1 end select * from @table改了一下楼上的,,不过这样做循环很慢,, 不如 用梁大哥的好,
-- Author : liangCK 小梁 & angellan 兰儿
-- Comment: 小梁 爱 兰儿
-- Date : 2008-10-04 21:07:19
------------------------------------------------
--> 生成测试数据: @T
DECLARE @T TABLE (id INT IDENTITY,date DATETIME,dzbz NUMERIC(2,1),fssd NUMERIC(2,1),dzxh VARCHAR(6),ylxh INT,com VARCHAR(4))--SQL查询如下:INSERT @T(date,dzbz,fssd,dzxh,ylxh,com)
SELECT TOP(1000) --这里设置多少行
DATEADD(hour,ROW_NUMBER() OVER(ORDER BY o.object_id)/24,'2009-05-01') AS Date,
(ABS(CHECKSUM(NEWID())) % 5 + 4) / 10. AS dzbz,
(ABS(CHECKSUM(NEWID())) % 3 + 12) / 10. AS fssd,
'DZ_00' + RTRIM(CASE WHEN ROW_NUMBER() OVER(ORDER BY o.object_id) % 4 = 0
THEN 4 ELSE ROW_NUMBER() OVER(ORDER BY o.object_id) % 4 END) AS dzxh,
1 AS ylxh,
CASE WHEN ((ROW_NUMBER() OVER(ORDER BY o.object_id)-1) / 4 % 4) %2 = 0
THEN 'com1' ELSE 'com2' END AS com
FROM sys.columns AS c
CROSS JOIN sys.objects AS o
--显示结果
SELECT * FROM @T;
declare @i varchar(max)
set @i=1
while
@i<1000001
begin
insert into tablename values ('长征'+cast(@i as varchar)+'号'
,25+@i)
set @i=@i+1
end
declare @i int
set @i=1
while
@i <1000001
begin
insert into @table values ('长征'+cast(@i as varchar)+'号')
set @i=@i+1
end select * from @table改了一下楼上的,,不过这样做循环很慢,, 不如 用梁大哥的好,