1 CREATE OR REPLACE FUNCTION games_ins()
\r
2 RETURNS TRIGGER AS $$
\r
4 IF (NEW.create_dt >= DATE '2011-04-01' AND NEW.create_dt < DATE '2011-07-01') THEN
\r
5 INSERT INTO games_2011Q2 VALUES (NEW.*);
\r
6 ELSIF (NEW.create_dt >= DATE '2011-07-01' AND NEW.create_dt < DATE '2011-10-01') THEN
\r
7 INSERT INTO games_2011Q3 VALUES (NEW.*);
\r
8 ELSIF (NEW.create_dt >= DATE '2011-10-01' AND NEW.create_dt < DATE '2012-01-01') THEN
\r
9 INSERT INTO games_2011Q4 VALUES (NEW.*);
\r
10 ELSIF (NEW.create_dt >= DATE '2012-01-01' AND NEW.create_dt < DATE '2012-04-01') THEN
\r
11 INSERT INTO games_2012Q1 VALUES (NEW.*);
\r
12 ELSIF (NEW.create_dt >= DATE '2012-04-01' AND NEW.create_dt < DATE '2012-07-01') THEN
\r
13 INSERT INTO games_2012Q2 VALUES (NEW.*);
\r
14 ELSIF (NEW.create_dt >= DATE '2012-07-01' AND NEW.create_dt < DATE '2012-10-01') THEN
\r
15 INSERT INTO games_2012Q3 VALUES (NEW.*);
\r
16 ELSIF (NEW.create_dt >= DATE '2012-10-01' AND NEW.create_dt < DATE '2013-01-01') THEN
\r
17 INSERT INTO games_2012Q4 VALUES (NEW.*);
\r
18 ELSIF (NEW.create_dt >= DATE '2013-01-01' AND NEW.create_dt < DATE '2013-04-01') THEN
\r
19 INSERT INTO games_2013Q1 VALUES (NEW.*);
\r
20 ELSIF (NEW.create_dt >= DATE '2013-04-01' AND NEW.create_dt < DATE '2013-07-01') THEN
\r
21 INSERT INTO games_2013Q2 VALUES (NEW.*);
\r
23 RAISE EXCEPTION 'Date out of range. Fix the games_ins() trigger!';
\r
30 DROP TRIGGER IF EXISTS games_ins_trg ON xonstat.games;
\r
31 CREATE TRIGGER games_ins_trg
\r
32 BEFORE INSERT on xonstat.games
\r
33 FOR EACH ROW EXECUTE PROCEDURE games_ins();
\r