From: | Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com> |
---|---|
To: | Gregory Wood <gregw(at)com-stock(dot)com> |
Cc: | Devrim GUNDUZ <devrim(at)oper(dot)metu(dot)edu(dot)tr>, PostgreSQL Mailing Lists-General <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: About functions |
Date: | 2002-02-25 15:06:03 |
Message-ID: | 20020225070417.M75113-100000@megazone23.bigpanda.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Mon, 25 Feb 2002, Gregory Wood wrote:
> > > 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 ||.
And, I think the begin/end are illegal in sql language functions
(since the last statement isn't a select) and there shouldn't be a
semicolon after begin for plpgsql.
From | Date | Subject | |
---|---|---|---|
Next Message | Doug McNaught | 2002-02-25 15:06:40 | Re: Backup & Restore |
Previous Message | Robert Treat | 2002-02-25 14:57:29 | Re: tcpip_socket vs -i |