1 CREATE OR REPLACE FUNCTION player_game_stats_ins()
4 IF (NEW.create_dt >= DATE '2011-04-01' AND NEW.create_dt < DATE '2011-07-01') THEN
5 INSERT INTO player_game_stats_2011Q2 VALUES (NEW.*);
6 ELSIF (NEW.create_dt >= DATE '2011-07-01' AND NEW.create_dt < DATE '2011-10-01') THEN
7 INSERT INTO player_game_stats_2011Q3 VALUES (NEW.*);
8 ELSIF (NEW.create_dt >= DATE '2011-10-01' AND NEW.create_dt < DATE '2012-01-01') THEN
9 INSERT INTO player_game_stats_2011Q4 VALUES (NEW.*);
10 ELSIF (NEW.create_dt >= DATE '2012-01-01' AND NEW.create_dt < DATE '2012-04-01') THEN
11 INSERT INTO player_game_stats_2012Q1 VALUES (NEW.*);
12 ELSIF (NEW.create_dt >= DATE '2012-04-01' AND NEW.create_dt < DATE '2012-07-01') THEN
13 INSERT INTO player_game_stats_2012Q2 VALUES (NEW.*);
14 ELSIF (NEW.create_dt >= DATE '2012-07-01' AND NEW.create_dt < DATE '2012-10-01') THEN
15 INSERT INTO player_game_stats_2012Q3 VALUES (NEW.*);
16 ELSIF (NEW.create_dt >= DATE '2012-10-01' AND NEW.create_dt < DATE '2013-01-01') THEN
17 INSERT INTO player_game_stats_2012Q4 VALUES (NEW.*);
18 ELSIF (NEW.create_dt >= DATE '2013-01-01' AND NEW.create_dt < DATE '2013-04-01') THEN
19 INSERT INTO player_game_stats_2013Q1 VALUES (NEW.*);
20 ELSIF (NEW.create_dt >= DATE '2013-04-01' AND NEW.create_dt < DATE '2013-07-01') THEN
21 INSERT INTO player_game_stats_2013Q2 VALUES (NEW.*);
23 RAISE EXCEPTION 'Date out of range. Fix the player_game_stats_ins() trigger!';
30 DROP TRIGGER IF EXISTS player_game_stats_ins_trg ON xonstat.player_game_stats;
31 CREATE TRIGGER player_game_stats_ins_trg
32 BEFORE INSERT on xonstat.player_game_stats
33 FOR EACH ROW EXECUTE PROCEDURE player_game_stats_ins();