how to pass tablename to a function

From: A L(dot) <e_toner(at)hotmail(dot)com>
To: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: how to pass tablename to a function
Date: 2014-09-04 23:42:45
Message-ID: SNT148-W762FB7B83F3C7B735DD48697C50@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi, All

I like to pass the tablename to function but not using execute clause, here is my script

CREATE OR REPLACE FUNCTION functions.pgsql_event_unpack_batch(IN
_tbl text, IN jobid bigint, IN jobtime timestamp with time zone, IN
startid bigint, IN stopid bigint)

RETURNS TABLE(events bigint, errors bigint[]) AS

$BODY$

BEGIN

RETURN QUERY

WITH

unpacking (raw_id, time, userid, eventtype, pagename, userhost, application, status, error)

AS (

select

id as raw_id,

(up).time,

(up).userid,

coalesce((up).eventtype, ''),

coalesce((up).pagename, ''),

(up).userhostaddress as userhost,

coalesce((up).application, ''),

(up).status,

(up).error

from(

select id,

functions.python_events_unpack(event_object) up

from _tbl

where id between startid and stopid

) a

where (up).userid is not NULL

)

I want to pass the _tbl to the select query integrated in the unpacking(), how can I make it?

thanks

Alec

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2014-09-04 23:57:09 Re: how to pass tablename to a function
Previous Message alecinvan 2014-09-04 22:28:22 how to pass tablename to a function