Re: Need help with generic query

Поиск
Список
Период
Сортировка
От Jim Nasby
Тема Re: Need help with generic query
Дата
Msg-id 9D873308-D31B-4977-BC29-DB5692A2E596@decibel.org
обсуждение исходный текст
Ответ на Need help with generic query  (David Abrahams <dave@boost-consulting.com>)
Список pgsql-general
No idea on the function, but why not have a 'master' ticket table and
have the ones in each schema inherit from it? Then you could query
all tables by just querying the master table.

On Jun 20, 2007, at 5:55 AM, David Abrahams wrote:

> Background: I have a number of schemas all of which contain a "ticket"
> table having the same columns.  The goal of the function xticket1
> below is to collect all ticket rows satisfying some condition from all
> those schemas, and additionally label each one by adding a new column
> containing the name of the schema it belongs to.
>
>   -- Create a temporary table with the right layout
>   -- for our function's return type (know a better way?)
>   CREATE TEMP TABLE tix ( LIKE master.ticket );
>   ALTER TABLE tix ADD COLUMN schema_name text;
>
>   CREATE OR REPLACE FUNCTION xticket1(condition TEXT)
>      RETURNS SETOF tix
>      AS
>   $BODY$
>   DECLARE
>      scm RECORD;
>      result RECORD;
>   BEGIN
>      FOR scm IN SELECT schema_name FROM public.instance_defs LOOP
>        FOR result IN EXECUTE 'SELECT '
>            || scm.schema_name || '.ticket.*,'
>            || ' ''' || scm.schema_name || ''' AS schema_name'
>            || ' FROM ' || scm.schema_name || '.ticket'
>            || ' WHERE ' || condition
>            LOOP
>          RETURN NEXT result;
>        END LOOP;
>      END LOOP;
>      RETURN;
>   END;
>   $BODY$
>      LANGUAGE plpgsql;
>
>
> The problem is, psql is complaining:
>
>   ERROR:  wrong record type supplied in RETURN NEXT
>
> I don't know why, and I don't know how to get psql to give me useful
> debugging info that would help me discover why.  Can someone help?
>
> Thanks
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 4: Have you searched our list archives?
>
>                http://archives.postgresql.org/
>

--
Jim Nasby                                            jim@nasby.net
EnterpriseDB      http://enterprisedb.com      512.569.9461 (cell)



В списке pgsql-general по дате отправления:

Предыдущее
От: Jim Nasby
Дата:
Сообщение: Re: Standby servers and incrementally updated backups
Следующее
От: Jim Nasby
Дата:
Сообщение: Re: pg_catalog.pg_get_serial_sequence() returns NULL