Wonderful! Thanks. On Wed, Feb 24, 2010 at 2:03 AM, Richard Huxton <d...@archonet.com> wrote:
> On 23/02/10 17:15, dipti shah wrote: > >> Thanks. Putting $cmd in single quote resolve the error but it generated >> other error. :( >> >> mydb=> CREATE OR REPLACE FUNCTION test_create() >> RETURNS void AS >> $BODY$ >> $cmd = "CREATE TABLE testtable(col varchar not null);"; >> spi_exec_query("CREATE OR REPLACE FUNCTION myfunc() RETURNS void AS >> '$cmd'LANGUAGE plperl;"); >> spi_exec_query("SELECT myfunc();"); >> $BODY$ >> LANGUAGE 'plperl'; >> CREATE FUNCTION >> mydb=> SELECT test_create(); >> ERROR: error from Perl function "test_create": error from Perl function >> "myfunc": Can't locate object method "col" via package "varchar" (perhaps >> you forgot to load "varchar"?) at line 1. at line 3. >> > > The function "myfunc" you are trying to create as plperl isn't perl. Either > give it some perl or try "LANGUAGE SQL". > > -- > Richard Huxton > Archonet Ltd >