-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLoadTable.sql
More file actions
65 lines (48 loc) · 1.19 KB
/
LoadTable.sql
File metadata and controls
65 lines (48 loc) · 1.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
CREATE OR ALTER PROCEDURE PopulateVMs
AS
BEGIN
DELETE
FROM [dbo].[VMSizes]
END
BEGIN
UPDATE [dbo].[loadStatus]
SET STATUS = 2
END
BEGIN
DECLARE @region VARCHAR(50)
DECLARE db_cursor CURSOR
FOR
SELECT region
FROM AzureRegions
OPEN DB_cursor
FETCH NEXT
FROM db_cursor
INTO @region
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE @file VARCHAR(50) = 'my' + @region + '.json'
--PRINT @file
DECLARE @sql NVARCHAR(max) = 'insert into [dbo].[VMSizesTemp] select Name, CPU, MemoryGB, IOPS, MaxNICs, MaxDataDisks, AcceleratedNetworking,EphemeralOSDiskSupported,Region from openrowset (bulk ''' + @file + ''', data_source= ''DemoLogicApp'', single_clob) as j
CROSS APPLY openjson (j.bulkcolumn) with ([Name] char (24),CPU int,MemoryGB decimal,IOPS int,MaxNICS int, MaxDataDisks int, AcceleratedNetworking varchar(10),EphemeralOSDiskSupported varchar(10), Region varchar (64))'
EXEC sp_executesql @sql
FETCH NEXT
FROM db_cursor
INTO @region
END
CLOSE db_cursor
DEALLOCATE db_cursor
BEGIN
DELETE
FROM VMSizesTemp
WHERE Region IS NULL;
INSERT INTO VMSizes
SELECT *
FROM VMSizesTemp;
DELETE
FROM [VMSizesTemp]
END
BEGIN
UPDATE [dbo].[loadStatus]
SET STATUS = 1
END
END