On 17 Nov 2011, at 7:10, Siva Palanisamy wrote: > If there is a better solution, kindly let me know. > > CREATE OR REPLACE FUNCTION Fun() > RETURNS VOID AS ' > DECLARE > Id INTEGER; > BEGIN > INSERT INTO table1 VALUES (DEFAULT, ''Sample'', DEFAULT); > SELECT MAX(id) INTO Id FROM table1; > INSERT INTO table2 VALUES(DEFAULT,Id,''sampledata''); > END; > ' LANGUAGE 'plpgsql'; > > Regards, > Siva. As John says, you're re-inventing the wheel that sequences solve. You could also get the id using INSERT .. RETURNING. You have another problem on your hands though. You have a naming conflict between your variable name and a column name in that second query: id and Id are the same. Alban Hertroys -- Screwing up is an excellent way to attach something to the ceiling. -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general