Re: Transactions and ID's generated by triggers - Mailing list pgsql-general

From David Johnston
Subject Re: Transactions and ID's generated by triggers
Date
Msg-id 028e01cbd6d7$3c00cff0$b4026fd0$@yahoo.com
Whole thread Raw
In response to Transactions and ID's generated by triggers  (Andre Lopes <lopes80andre@gmail.com>)
Responses Re: Transactions and ID's generated by triggers  (Andre Lopes <lopes80andre@gmail.com>)
Re: Transactions and ID's generated by triggers  (Alban Hertroys <dalroi@solfertje.student.utwente.nl>)
List pgsql-general
Using pl/pgsql you can:
....
DECLARE idordinal type;
BEGIN
INSERT INTO tdir_uris_files RETURNING id_ordinal INTO idordinal;
INSERT INTO tdir_uris_files_details (id_ordinal) VALUES (idordinal);
END;
....

Similar results are possible in other environments.  If you do not have access to "RETURNING" for some reason you can
issuea select - assuming you can identify the record in tdir_uris_files that you need. 

David J.

-----Original Message-----
From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org] On Behalf Of Andre Lopes
Sent: Sunday, February 27, 2011 3:34 PM
To: postgresql Forums
Subject: [GENERAL] Transactions and ID's generated by triggers

Hi,

I have a situation that I dont know how to deal.

I have 2 tables "tdir_uris_files" and "tdir_uri_files_details". Please see the Image in attach.

The table "tdir_uris_files" have the field "id_ordinal" that is originated by a trigger(before insert) The table
"tdir_uri_files_details"use the field "id_ordinal" 
generated by trigger on the insert on the table "tdir_uris_files"


Now my doubt. It is possible to do a transaction to this two tables at the same time?

How can I know the value of the field "id_ordinal" that was generated by the trigger?

Can I be able to do this?

[code]
BEGIN;
INSERT INTO tdir_uris_files (uri, id_language, id_category, id_file_context, id_encode_format, n_file, file) values
(...)INSERT INTO tdir_uri_files_details (uri, id_language, id_category, id_file_context, id_ordinal, id_file_type,
id_file_detail,value) values (...); COMMIT; [/code] 

PS: Sorry my bad english.

Best Regards,


pgsql-general by date:

Previous
From: Jasmin Dizdarevic
Date:
Subject: Re: PG on two nodes with shared disk ocfs2 & drbd
Next
From: Merlin Moncure
Date:
Subject: Re: Binary params in libpq