> > You can't use the argument as a parameter directly in that sql
statement.
> > You might be able to do:
> > EXECUTE ''DROP FUNCTION '' || $1;
>
> Thanks but, again an error:
>
> test=# CREATE FUNCTION dropfunc(text) RETURNS integer AS '
> test'# BEGIN;
> test'# EXECUTE ''DROP FUNCTION'' $1;
> test'# SELECT 1;
> test'# END;
> test'# '
> test-# LANGUAGE SQL;
> ERROR: parser: parse error at or near "EXECUTE"
> test=#
>
> Let me dive into my manuals :)
I'm pretty sure EXECUTE is only available in the PL/pgSQL language, and not
the SQL language. Also, you need to append the parameter to the rest of the
drop function string, so be sure to include a space after FUNCTION and
concat the two together with ||.
Greg