-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Friday 20 June 2003 01:27, Anagha Joshi wrote: > Yes...I'm aware of that and have tried also by maintaining extra table. > But how to to the following: > 1. If insertion takes place, I want to return to the client the > values (with field names of course) which are inserted into the > tables. In each case table might be different. >
When you insert a single row, PostgreSQL returns the OID of that row. Just follow up with a select (SELECT * FROM <your table> WHERE OID=<the oid>) and you'll get all the info you need. > 2. If modification takes places, I want to know the values which > are modified with field names and return them to the client. > You can do that by checking what is different between the data you inserted and the data you get from the select statement. > More precisely, > My C++ client -- > ' > ' > " > Transcation begin > insert/update query to the backend is fired. > //control is tranferred to the trigger > //After trigger procedure is executed, I want at this > point the values inserted/modified so //as to pass them back > Transcation end > ' > ' > I don't think it can work the way you would like it. Try this algorithm. For insert: 1. Insert query is run. (Trigger, other table inserts/updates performed) 2. With the OID from the insert, select the data. For Update: 1. Update query is run. (Triggers, etc, are run as well). 2. With the OID (or Primary Key), select the data you just updated. You can turn these two procedures into a stored procedure pretty easily. This way, all you do is call a stored procedure, and it will pass back all the data you need. You get a free transaction block inside the stored procedure as well. - -- Jonathan Gardner <[EMAIL PROTECTED]> (was [EMAIL PROTECTED]) Live Free, Use Linux! -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQE+8w95WgwF3QvpWNwRAsVgAKCu48FN0VkRvXc9a2d9Qc91YU6jaQCdG4h4 kH42h4oWrsh1f1Splm0KNkA= =zOMj -----END PGP SIGNATURE----- ---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings