diff options
| author | Andrew Guschin <guschin.drew@gmail.com> | 2022-04-12 12:42:41 +0400 |
|---|---|---|
| committer | Andrew Guschin <guschin.drew@gmail.com> | 2022-04-12 17:15:40 +0400 |
| commit | 31d4558821bfffbc07d5fae54fa063c019a6f7a9 (patch) | |
| tree | cec002050173931689d4e9235c3b4f6c0f9dc859 /task10-generate.sql | |
| parent | b14a35b894d5440c9d52a042bab6f7236ce2506f (diff) | |
Добавил десятое задание
Diffstat (limited to 'task10-generate.sql')
| -rw-r--r-- | task10-generate.sql | 164 |
1 files changed, 164 insertions, 0 deletions
diff --git a/task10-generate.sql b/task10-generate.sql new file mode 100644 index 0000000..14b8e34 --- /dev/null +++ b/task10-generate.sql @@ -0,0 +1,164 @@ +-------------- +-- dim_date -- +-------------- + +SET LANGUAGE Russian +use shipping_storage + +DECLARE @startday datetime = '2018-01-01T12:00:00' +DECLARE @endday datetime = '2026-01-01T12:00:00' +DECLARE @inc datetime +SET @inc = @startday +DECLARE @keyDate bigint + +WHILE @inc <= @endday +BEGIN +SET @keyDate = ( SELECT DATEPART(hour, @inc) + + DATEPART(day, @inc) * 100 + + DATEPART(month, @inc) * 10000 + + DATEPART(year, @inc) * 1000000 ) + + INSERT INTO shipping_storage.dbo.dim_date + (date_key, date, year, quarter, month, week, day, hour) + VALUES + ( @keyDate, + @inc, + year(@inc), + datepart(quarter, @inc), + month(@inc), + datepart(week,@inc), + day(@inc), + datename(hour, @inc) ) + SET @inc = DATEADD(DAY, 1, @inc) +END +GO + +------------------- +-- dim_geography -- +------------------- + +SET LANGUAGE Russian +use shipping_storage + +INSERT INTO shipping_storage.dbo.dim_geography +(region_name, region_code, postal_code, city_name) +VALUES +(N'Саратовская область', 64, 410065, N'Саратов'), +(N'Московская область', 77, 410065, N'Подольск'), +(N'Московская область', 77, 410065, N'Москва') +GO + + +------------------ +-- dim_wrapping -- +------------------ + +INSERT INTO shipping_storage.dbo.dim_wrapping +(name, price) +VALUES (N'Жёсткая', 100), + (N'Полужёсткая', 100), + (N'Мягкая', 100), + (N'Воздушно-Пузырьковая', 100), + (N'Рулон', 100) +GO + + +---------------------- +-- dim_payment_kind -- +---------------------- + +INSERT INTO shipping_storage.dbo.dim_payment_kind +(name) +VALUES (N'Наличными'), + (N'Картой'), + (N'Картой МИР'), + (N'Чеком') +GO + + +----------------------------- +-- dim_customer_demography -- +----------------------------- + +SET LANGUAGE Russian +use shipping_storage + +DECLARE @n INT +SET @n = 1 + +WHILE @n <= 1000 +BEGIN + INSERT INTO shipping_storage.dbo.dim_customer_demography + (age, marital_status, number_of_children) + VALUES (20, N'Не женат', 0) + SET @n = @n + 1 +END +GO + +------------------ +-- dim_customer -- +------------------ + +SET LANGUAGE Russian +use shipping_storage + +DECLARE @n INT +SET @n = 1 + +WHILE @n <= 1000 +BEGIN + INSERT INTO shipping_storage.dbo.dim_customer + (demography_key, name, email, birthday, gender, phone_number, tax_number, geography_key, entry_date, discount, discount_start, discount_end, flag) + VALUES (@n, N'Иван Улитин', 'ivan@ulitin.ru', 2019043012, N'Мужской', N'+7900112233', 11223344, 1, 2022043012, 0.2, 2022042512, 2022043012, 1) + SET @n = @n + 1 +END +GO + +------------------ +-- dim_vehicles -- +------------------ + +SET LANGUAGE Russian +USE shipping_storage + +INSERT INTO shipping_storage.dbo.dim_vehicles +(name, tonnage, gas_consumption, on_route, route_start, route_end, flag) +VALUES +(N'Камаз', 100, 100, 0, 2022042512, 2022042612, 0) +GO + + +------------------- +-- fact_delivery -- +------------------- + +SET LANGUAGE Russian +USE shipping_storage + +DECLARE @startday datetime = '2018-01-01T12:00:00' +DECLARE @endday datetime = '2026-01-01T12:00:00' +DECLARE @inc DATETIME +SET @inc = @startday +DECLARE @keyDate BIGINT + +DECLARE @n INT +SET @n = 1 + +WHILE @inc < @endday +BEGIN + SET @keyDate = ( SELECT DATEPART(hour, @inc) + + DATEPART(day, @inc) * 100 + + DATEPART(month, @inc) * 10000 + + DATEPART(year, @inc) * 1000000 ) + + INSERT INTO shipping_storage.dbo.fact_delivery + (wrapping_key, payment_kind_key, volume, weight, customer_key, order_date, expected_delivery_date, factual_delivery_date, geography_from_key, geography_to_key, vehicle_key, subtotal, discount, tax_amount, total) + VALUES + (1, 1, 10, 10, @n % 1000 + 1, @keyDate, @keyDate, @keyDate, 1, 1, 1, 1000, 0, 200, 1200) + + SET @inc = DATEADD(DAY, 1, @inc) + SET @n = @n + 1 +END +GO + +-- DELETE FROM shipping_storage.dbo.archive_fact_delivery
\ No newline at end of file |