Skip to content

Commit 4a97046

Browse files
authored
Create Create Numbers Table.sql
1 parent 6e83295 commit 4a97046

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

SQL/Tables/Create Numbers Table.sql

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/**************************************************************************
2+
** CREATED BY: Mick Letofsky
3+
** CREATED DATE: 2018.08.25
4+
** CREATION: Create a numbers table for future use.
5+
Code courtsey of Itzik Ben-Gan
6+
**************************************************************************/
7+
SET NOCOUNT ON;
8+
9+
IF EXISTS (SELECT 'x' FROM sys.tables WHERE OBJECT_ID = OBJECT_ID ('dbo.numbers'))
10+
BEGIN
11+
DROP TABLE dbo.numbers
12+
END
13+
14+
CREATE TABLE dbo.numbers
15+
(
16+
number INTEGER NOT NULL CONSTRAINT PK_numbers PRIMARY KEY CLUSTERED (number)
17+
WITH( FILLFACTOR = 100)
18+
);
19+
20+
WITH
21+
L0 AS(SELECT 1 AS c UNION ALL SELECT 1),
22+
L1 AS(SELECT 1 AS c FROM L0 AS A CROSS JOIN L0 AS B),
23+
L2 AS(SELECT 1 AS c FROM L1 AS A CROSS JOIN L1 AS B),
24+
L3 AS(SELECT 1 AS c FROM L2 AS A CROSS JOIN L2 AS B),
25+
L4 AS(SELECT 1 AS c FROM L3 AS A CROSS JOIN L3 AS B),
26+
L5 AS(SELECT 1 AS c FROM L4 AS A CROSS JOIN L4 AS B),
27+
Nums AS(SELECT ROW_NUMBER() OVER(ORDER BY (SELECT NULL)) AS n FROM L5)
28+
INSERT INTO dbo.numbers
29+
SELECT n
30+
FROM Nums
31+
WHERE n <= 100000000
32+
ORDER BY n;
33+
34+
SELECT COUNT(*)
35+
FROM dbo.numbers

0 commit comments

Comments
 (0)