plpgsql and schema

Поиск
Список
Период
Сортировка
От Roberto Pellagatti
Тема plpgsql and schema
Дата
Msg-id 42B996E0.2050808@ropelsoftware.fastwebnet.it
обсуждение исходный текст
Ответы Re: plpgsql and schema  (Michael Fuhr <mike@fuhr.org>)
Список pgsql-general
The problem:

I've two tables, both called "test" on two different schemas, let's say
schema1 and schema2.

I need to write a function like (just a simple example)

CREATE OR REPLACE FUNCTION foo()
  RETURNS int4 AS
$BODY$
declare
   num int4;
begin
    select into num count(*) from test;
   return num;
end;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE;

I need something like:
SET search_path = schema1,public;
select foo();
-- get the number of rows of schema1.test


SET search_path = schema2,public;
select foo();
-- get the number of rows of schema2.test

The problem is that i get always the number of  rows from the table in
the schema that was current when I created the function.

How can I obtain what I need ?? I cannot write 2 different functions (my
db is really more complex, with lots of functions and triggers that need
this kind of access).

Thanks to everybody
Roberto



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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: multiple action rules
Следующее
От: Kapil Malhotra
Дата:
Сообщение: Help me urgently