| From: | George Nychis <gnychis(at)cmu(dot)edu> |
|---|---|
| To: | pgsql-general(at)postgresql(dot)org |
| Subject: | creating a function with a variable table name |
| Date: | 2007-03-01 16:17:46 |
| Message-ID: | 45E6FCAA.7020107@cmu.edu |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
Hey all,
I'm trying to create a function in which the table a query is run on is variable, but I
guess this is not as easy as I thought.
BEGIN
dp=> CREATE FUNCTION stats_addr_dst(date,text)
dp-> RETURNS setof addr_count
dp-> AS 'SELECT ip,sum(dst_packets)
dp'> FROM(
dp'> (SELECT dst_ip AS ip,sum(src_packets) AS dst_packets
dp'> FROM $2
dp'> WHERE interval=$1
dp'> GROUP BY dst_ip)
dp'> UNION ALL
dp'> (SELECT src_ip AS ip,sum(dst_packets) AS dst_packets
dp'> FROM $2
dp'> WHERE interval=$1
dp'> GROUP BY src_ip) )
dp'> AS topk
dp'> GROUP BY topk.ip
dp'> HAVING sum(dst_packets)>0
dp'> ORDER BY sum(dst_packets) DESC;'
dp-> LANGUAGE SQL;
ERROR: syntax error at or near "$2" at character 179
LINE 6: FROM $2
^
How can I pass the table name?
Thanks!
George
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Hannes Dorbath | 2007-03-01 16:18:44 | Re: supporting 2000 simultaneous connections. |
| Previous Message | Merlin Moncure | 2007-03-01 16:09:56 | Re: General Ledger db design |