Thread: About SP's and parameters

About SP's and parameters

From
Alfonso Peniche
Date:
Hi all:

    Is there a way to pass a tablename as a parameter to a SP?

    I'll try to explain myself. I want to create a SP that can, for
instance, do a delete from ...... so that any particular application all

it has to do is call the SP sending the table to be deleted.

    Right now I have:

CREATE FUNCTION deleteanytable (bpchar)
returns integer
as '
    begin
        delete from $1;

        return 1;
    end;'
language 'plpgsql';

If I call it:
    select deleteanytable ( mytable );

I get a message saying

ERROR:  Attribute 'mytable' not found

Thanks for your help.

P.S. It would be very interesting if a columnname could also be sent as
a parameter to the Stored Procedure.




Re: About SP's and parameters

From
Alex Pilosov
Date:
in 7.1, there's "EXECUTE" command in plsql, so you can do:

execute 'delete from ' || $1;

-alex

On Thu, 8 Feb 2001, Alfonso Peniche wrote:

> Hi all:
>
>     Is there a way to pass a tablename as a parameter to a SP?
>
>     I'll try to explain myself. I want to create a SP that can, for
> instance, do a delete from ...... so that any particular application all
>
> it has to do is call the SP sending the table to be deleted.
>
>     Right now I have:
>
> CREATE FUNCTION deleteanytable (bpchar)
> returns integer
> as '
>     begin
>         delete from $1;
>
>         return 1;
>     end;'
> language 'plpgsql';
>
> If I call it:
>     select deleteanytable ( mytable );
>
> I get a message saying
>
> ERROR:  Attribute 'mytable' not found
>
> Thanks for your help.
>
> P.S. It would be very interesting if a columnname could also be sent as
> a parameter to the Stored Procedure.
>
>
>
>


Re: About SP's and parameters

From
Alfonso Peniche
Date:
And where can I find information about EXECUTE and other new
features/instructions (I haven't found anything in the online manual)?

Alex Pilosov wrote:

> in 7.1, there's "EXECUTE" command in plsql, so you can do:
>
> execute 'delete from ' || $1;
>
> -alex
>
> On Thu, 8 Feb 2001, Alfonso Peniche wrote:
>
> > Hi all:
> >
> >     Is there a way to pass a tablename as a parameter to a SP?
> >
> >     I'll try to explain myself. I want to create a SP that can, for
> > instance, do a delete from ...... so that any particular application all
> >
> > it has to do is call the SP sending the table to be deleted.
> >
> >     Right now I have:
> >
> > CREATE FUNCTION deleteanytable (bpchar)
> > returns integer
> > as '
> >     begin
> >         delete from $1;
> >
> >         return 1;
> >     end;'
> > language 'plpgsql';
> >
> > If I call it:
> >     select deleteanytable ( mytable );
> >
> > I get a message saying
> >
> > ERROR:  Attribute 'mytable' not found
> >
> > Thanks for your help.
> >
> > P.S. It would be very interesting if a columnname could also be sent as
> > a parameter to the Stored Procedure.
> >
> >
> >
> >