On Sun, 24 Feb 2002, Devrim GUNDUZ wrote:
>
> Hi,
>
> While working on functions, I had a problem:
>
> I wanted to write a function whict would drop my function. It is simply as
> below:
>
>
> CREATE FUNCTION dropfunc(text) RETURNS integer AS '
> DROP FUNCTION $1 ;
> SELECT 1;
> '
> LANGUAGE SQL;
>
>
> But PostgreSQL answers:
>
> test=# ERROR: parser: parse error at or near "$1"
>
>
> What is the error in here?
You can't use the argument as a parameter directly in that sql statement.
You might be able to do:
EXECUTE ''DROP FUNCTION '' || $1;
(Note also that the above requires arguments of the form
foo(int) not just foo).