· 6 years ago · Jun 28, 2019, 04:20 PM
1/*
2Result values table
3
4You could change it to permanent table like s/#integers/dbo.Integers/g
5*/
6DROP TABLE IF EXISTS #integers;
7
8CREATE TABLE #integers (
9 i INT NOT NULL PRIMARY KEY
10);
11
12
13/*
14Fast fill with integer number from 0 to 10^5 - 1
15*/
16WITH a AS (
17 SELECT a.n
18 FROM(VALUES(0), (1), (2), (3), (4), (5), (6), (7), (8), (9)) AS a(n)
19)
20INSERT INTO #integers (i)
21 SELECT
22 /* Kind of a binary magick */
23 a.n + 10 * a1.n + 100 * a2.n + 1000 * a3.n + 10000 * a4.n + 100000 * a5.n
24 FROM a
25 CROSS JOIN a AS a1
26 CROSS JOIN a AS a2
27 CROSS JOIN a AS a3
28 CROSS JOIN a AS a4
29 CROSS JOIN a AS a5
30;