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@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to