1 CREATE OR REPLACE FUNCTION team_game_stats_ins()
4 IF (NEW.create_dt >= DATE '2020-01-01' AND NEW.create_dt < DATE '2020-04-01') THEN
5 INSERT INTO team_game_stats_2020Q1 VALUES (NEW.*);
6 ELSIF (NEW.create_dt >= DATE '2020-04-01' AND NEW.create_dt < DATE '2020-07-01') THEN
7 INSERT INTO team_game_stats_2020Q2 VALUES (NEW.*);
8 ELSIF (NEW.create_dt >= DATE '2020-07-01' AND NEW.create_dt < DATE '2020-10-01') THEN
9 INSERT INTO team_game_stats_2020Q3 VALUES (NEW.*);
10 ELSIF (NEW.create_dt >= DATE '2020-10-01' AND NEW.create_dt < DATE '2021-01-01') THEN
11 INSERT INTO team_game_stats_2020Q4 VALUES (NEW.*);
12 ELSIF (NEW.create_dt >= DATE '2021-01-01' AND NEW.create_dt < DATE '2021-04-01') THEN
13 INSERT INTO team_game_stats_2021Q1 VALUES (NEW.*);
14 ELSIF (NEW.create_dt >= DATE '2021-04-01' AND NEW.create_dt < DATE '2021-07-01') THEN
15 INSERT INTO team_game_stats_2021Q2 VALUES (NEW.*);
16 ELSIF (NEW.create_dt >= DATE '2021-07-01' AND NEW.create_dt < DATE '2021-10-01') THEN
17 INSERT INTO team_game_stats_2021Q3 VALUES (NEW.*);
18 ELSIF (NEW.create_dt >= DATE '2021-10-01' AND NEW.create_dt < DATE '2022-01-01') THEN
19 INSERT INTO team_game_stats_2021Q4 VALUES (NEW.*);
20 ELSIF (NEW.create_dt >= DATE '2022-01-01' AND NEW.create_dt < DATE '2022-04-01') THEN
21 INSERT INTO team_game_stats_2022Q1 VALUES (NEW.*);
22 ELSIF (NEW.create_dt >= DATE '2022-04-01' AND NEW.create_dt < DATE '2022-07-01') THEN
23 INSERT INTO team_game_stats_2022Q2 VALUES (NEW.*);
24 ELSIF (NEW.create_dt >= DATE '2022-07-01' AND NEW.create_dt < DATE '2022-10-01') THEN
25 INSERT INTO team_game_stats_2022Q3 VALUES (NEW.*);
26 ELSIF (NEW.create_dt >= DATE '2022-10-01' AND NEW.create_dt < DATE '2023-01-01') THEN
27 INSERT INTO team_game_stats_2022Q4 VALUES (NEW.*);
28 ELSIF (NEW.create_dt >= DATE '2023-01-01' AND NEW.create_dt < DATE '2023-04-01') THEN
29 INSERT INTO team_game_stats_2023Q1 VALUES (NEW.*);
30 ELSIF (NEW.create_dt >= DATE '2023-04-01' AND NEW.create_dt < DATE '2023-07-01') THEN
31 INSERT INTO team_game_stats_2023Q2 VALUES (NEW.*);
32 ELSIF (NEW.create_dt >= DATE '2023-07-01' AND NEW.create_dt < DATE '2023-10-01') THEN
33 INSERT INTO team_game_stats_2023Q3 VALUES (NEW.*);
34 ELSIF (NEW.create_dt >= DATE '2023-10-01' AND NEW.create_dt < DATE '2024-01-01') THEN
35 INSERT INTO team_game_stats_2023Q4 VALUES (NEW.*);
36 ELSIF (NEW.create_dt >= DATE '2024-01-01' AND NEW.create_dt < DATE '2024-04-01') THEN
37 INSERT INTO team_game_stats_2024Q1 VALUES (NEW.*);
38 ELSIF (NEW.create_dt >= DATE '2024-04-01' AND NEW.create_dt < DATE '2024-07-01') THEN
39 INSERT INTO team_game_stats_2024Q2 VALUES (NEW.*);
40 ELSIF (NEW.create_dt >= DATE '2024-07-01' AND NEW.create_dt < DATE '2024-10-01') THEN
41 INSERT INTO team_game_stats_2024Q3 VALUES (NEW.*);
42 ELSIF (NEW.create_dt >= DATE '2024-10-01' AND NEW.create_dt < DATE '2025-01-01') THEN
43 INSERT INTO team_game_stats_2024Q4 VALUES (NEW.*);
44 ELSIF (NEW.create_dt >= DATE '2025-01-01' AND NEW.create_dt < DATE '2025-04-01') THEN
45 INSERT INTO team_game_stats_2025Q1 VALUES (NEW.*);
46 ELSIF (NEW.create_dt >= DATE '2025-04-01' AND NEW.create_dt < DATE '2025-07-01') THEN
47 INSERT INTO team_game_stats_2025Q2 VALUES (NEW.*);
48 ELSIF (NEW.create_dt >= DATE '2025-07-01' AND NEW.create_dt < DATE '2025-10-01') THEN
49 INSERT INTO team_game_stats_2025Q3 VALUES (NEW.*);
50 ELSIF (NEW.create_dt >= DATE '2025-10-01' AND NEW.create_dt < DATE '2026-01-01') THEN
51 INSERT INTO team_game_stats_2025Q4 VALUES (NEW.*);
53 RAISE EXCEPTION 'Date out of range. Fix the team_game_stats_ins() trigger!';
60 DROP TRIGGER IF EXISTS team_game_stats_ins_trg ON xonstat.team_game_stats;
61 CREATE TRIGGER team_game_stats_ins_trg
62 BEFORE INSERT on xonstat.team_game_stats
63 FOR EACH ROW EXECUTE PROCEDURE team_game_stats_ins();