WITH Digits AS ( SELECT 0 as Number UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 ) SELECT (d5.Number * 100000) + (d4.Number * 10000) + (d3.Number * 1000) + (d2.Number * 100) + (d1.Number * 10) + d0.Number as Number FROM Digits AS d0 , Digits AS d1 , Digits AS d2 , Digits AS d3 , Digits AS d4 , Digits AS d5
CREATE VIEW .[Digits] AS SELECT 0 AS Number UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9; CREATE VIEW [MillionNumbers] AS SELECT SELECT (d5.Number * 100000) + (d4.Number * 10000) + (d3.Number * 1000) + (d2.Number * 100) + (d1.Number * 10) + d0.Number) as Number FROM Digits AS d0 , Digits AS d1 , Digits AS d2 , Digits AS d3 , Digits AS d4 , Digits AS d5;
我们可以用这个方法来生成大批量的测试数据。如:
INSERT INTO MyTest (RecordId, RecordIndex) SELECT newid(), Number FROM MillionNumbers