OID and PL/pgSQL trigger :-(
От | Alke |
---|---|
Тема | OID and PL/pgSQL trigger :-( |
Дата | |
Msg-id | 37BDBFBA.5370AFE3@iol.it обсуждение исходный текст |
Список | pgsql-sql |
Hy all! I would like to use OIDs as a primary key on every table of my db, because this seem to me a very smart thing to do..... but after some experiment, I've decided to create a SERIAL field on every table, and to use it as the primary key, and to abandon OIDs... This is an example of what I whould like to write (and I can't): CREATE FUNCTION firstTable_DelCascade() RETURNS OPAQUE AS ' BEGIN DELETE FROM anotherTable WHERE anotherTable.OIDfromFirstTable = OLD.OID; RETURN OLD; END; ' LANGUAGE 'plpgsql'; Well, this can't work because OLD is of type RECORD, and type record have no OID :-( (this is what I found in the docs, about RECORD: "Only the user attributes of a table row are accessible in the row, no Oid or other system attributes (hence the row could be from a view and view rows don't have useful system attributes)" ) The main question is: can I get the OID of the OLD/NEW record in triggers? A more general question is: what is the usefulness of OIDs, if I can't use them in trigger? Paolo
В списке pgsql-sql по дате отправления: