Thread: can you use variables in PostgreSQL rules?
i am currently migrating a db from Oracle to Pg and in some of my triggers i use variables, i.e. i have some thing like this:
[Oracle version]
CREATE OR REPLACE TRIGGER "USERACTION_VIEW" INSTEAD OF INSERT ON "USERACTION_VIEW" DECLARE
UserActionID INTEGER;
UserActionDataID INTEGER;
begin
SELECT USERACTION_SQ.nextval into UserActionID FROM DUAL;
SELECT USERACTIONDATA_SQ.nextval into UserActionDataID FROM DUAL;
INSERT INTO USERACTION
(
UserActionID,
LocalID,
UserActionTypeID,
ActionDate
)
VALUES
(
UserActionID,
:new.LocalID,
:new.UserActionTypeID,
SYSDATE
);
INSERT INTO USERACTIONDATA
(
UserActionDataID,
UserActionID,
AccountID,
CourseRecordID,
CourseRecordPaymentID,
StudentID,
CourseRecordTestID,
CourseRecordLessonID
)
VALUES
(
UserActionDataID,
UserActionID,
:new.AccountID,
:new.CourseRecordID,
:new.CourseRecordPaymentID,
:new.StudentID,
:new.CourseRecordTestID,
:new.CourseRecordLessonID
);
end;
so basically i have two variables here, UserActionID and UserActionDataID. so when i am porting to PostgreSQL i will need to make this a rule since Pg triggers only work for tables. The problem though is that i don't know how to use variabvles in Pg rules. Any ideas? Is it possible at all?
Thanks.