· 8 years ago · Aug 02, 2018, 05:30 PM
1SQL, how can I create a lot of records for a reference join table?
2CREATE TABLE IF NOT EXISTS util_nums (n integer primary key
3 autoincrement not null);
4
5insert into util_nums values (0);
6
7insert into util_nums(n) select null from (select 0 as n union select 1
8union select 2 union select 3 union select 4 union select 5 union select 6
9union select 7 union select 8 union select 9 union select 10)
10a cross join (select 0 as n union select 1 union select 2 union select 3
11union select 4 union select 5 union select 6 union select 7 union select 8
12union select 9 union select 10) b cross join (select 0 as n union select 1
13union select 2 union select 3 union select 4 union select 5 union select 6
14union select 7 union select 8 union select 9 union select 10) c;
15
16--assuming table is empty, insert 2 records
17insert into util_nums values (null);
18insert into util_nums values (null);
19
20insert into util_nums
21select null from
22util_nums,util_nums,util_nums,util_nums,util_nums,
23util_nums,util_nums,util_nums,util_nums,util_nums,
24util_nums,util_nums,util_nums,util_nums,util_nums,
25util_nums,util_nums,util_nums,util_nums,util_nums
26
27CREATE TABLE tmp_util_nums
28(
29 n int NOT NULL,
30
31)
32go
33
34DECLARE @SQL varchar(max)
35Declare @PathFileName varchar(max)
36SET @SQL = "BULK INSERT tmp_util_nums FROM '"+@PathFileName+"' WITH (FIELDTERMINATOR = ',') "
37
38TRUNCATE TABLE tmp_util_nums
39go