1 -- Function: "RaiseItemChangedEvent"()
2
3 -- DROP FUNCTION "RaiseItemChangedEvent"();
4
5 CREATE OR REPLACE FUNCTION "RaiseItemChangedEvent"()
6 RETURNS "trigger" AS
7 $BODY$DECLARE
8 itemType SMALLINT;
9 actionType SMALLINT;
10 -- itemId VARCHAR;
11 BEGIN
12 itemType := TG_ARGV[0];
13 IF tg_op = 'INSERT' THEN
14 -- itemId = new."Id";
15 actionType := 1;
16 INSERT INTO m_events(
17 "Id", "ItemId", "ItemType", "ActionType","CreateDate")
18 VALUES (nextval('seq_eventid'), new."Id", itemType, actionType,'now');
19 RETURN new;
20 ELSIF tg_op = 'UPDATE' THEN
21 actionType := 2;
22 INSERT INTO m_events(
23 "Id", "ItemId", "ItemType", "ActionType","CreateDate")
24 VALUES (nextval('seq_eventid'), new."Id", itemType, actionType,'now');
25 RETURN new;
26 ELSIF tg_op = 'DELETE' THEN
27 actionType := 3;
28 INSERT INTO m_events(
29 "Id", "ItemId", "ItemType", "ActionType","CreateDate")
30 VALUES (nextval('seq_eventid'), old."Id", itemType, actionType,'now');
31 RETURN new;
32 END IF;
33 END;$BODY$
34 LANGUAGE 'plpgsql' VOLATILE;
35 ALTER FUNCTION "RaiseItemChangedEvent"() OWNER TO testuser;
2
3 -- DROP FUNCTION "RaiseItemChangedEvent"();
4
5 CREATE OR REPLACE FUNCTION "RaiseItemChangedEvent"()
6 RETURNS "trigger" AS
7 $BODY$DECLARE
8 itemType SMALLINT;
9 actionType SMALLINT;
10 -- itemId VARCHAR;
11 BEGIN
12 itemType := TG_ARGV[0];
13 IF tg_op = 'INSERT' THEN
14 -- itemId = new."Id";
15 actionType := 1;
16 INSERT INTO m_events(
17 "Id", "ItemId", "ItemType", "ActionType","CreateDate")
18 VALUES (nextval('seq_eventid'), new."Id", itemType, actionType,'now');
19 RETURN new;
20 ELSIF tg_op = 'UPDATE' THEN
21 actionType := 2;
22 INSERT INTO m_events(
23 "Id", "ItemId", "ItemType", "ActionType","CreateDate")
24 VALUES (nextval('seq_eventid'), new."Id", itemType, actionType,'now');
25 RETURN new;
26 ELSIF tg_op = 'DELETE' THEN
27 actionType := 3;
28 INSERT INTO m_events(
29 "Id", "ItemId", "ItemType", "ActionType","CreateDate")
30 VALUES (nextval('seq_eventid'), old."Id", itemType, actionType,'now');
31 RETURN new;
32 END IF;
33 END;$BODY$
34 LANGUAGE 'plpgsql' VOLATILE;
35 ALTER FUNCTION "RaiseItemChangedEvent"() OWNER TO testuser;

浙公网安备 33010602011771号