Connecting Tech Pros Worldwide Forums | Help | Site Map

Table name as parameter in function

Alexander Pucher
Guest
 
Posts: n/a
#1: Nov 23 '05
Hi,

struggling around with this for some time:

How can I use a table name as a parameter in a PL/pgSQL function ??

I tried this but it didn't work...


CREATE OR REPLACE FUNCTION my_row_count(text) RETURNS int4 AS '
DECLARE
num_rows int4;
BEGIN
num_rows := (select count(*) from $1);
RETURN num_rows;
END;
' LANGUAGE plpgsql;

Thnaks for any input!

regards,
alex.

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org


Timothy Perrigo
Guest
 
Posts: n/a
#2: Nov 23 '05

re: Table name as parameter in function


You'll need to use the EXECUTE command to build the SQL dynamically.

See:
http://www.postgresql.org/docs/7.4/interactive/plpgsql-
statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN

On Nov 23, 2004, at 2:56 PM, Alexander Pucher wrote:
[color=blue]
> Hi,
>
> struggling around with this for some time:
>
> How can I use a table name as a parameter in a PL/pgSQL function ??
>
> I tried this but it didn't work...
>
>
> CREATE OR REPLACE FUNCTION my_row_count(text) RETURNS int4 AS '
> DECLARE
> num_rows int4;
> BEGIN
> num_rows := (select count(*) from $1);
> RETURN num_rows;
> END;
> ' LANGUAGE plpgsql;
>
> Thnaks for any input!
>
> regards,
> alex.
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to
> majordomo@postgresql.org
>[/color]


---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

Closed Thread