Please help! Functions passing records between them

Поиск
Список
Период
Сортировка
От alla@sergey.com (Alla)
Тема Please help! Functions passing records between them
Дата
Msg-id 9275d56e.0106120632.456dd846@posting.google.com
обсуждение исходный текст
Список pgsql-sql
Guys;

I am begging for your help again.

I can't find a solution to my problem.

I am porting a complex system from Oracle to PostgreSQL and I need to
implement the following:

function 1 does some processing and returns a record (I can declare it
as a row in a view)
function 2 uses func1 to get that record and does some more processing

My problem is that even if I can return a record from my function 1,
function 2 does not read it properly

Here is an example:
create view my_view
  as select null as type, null as value, null as timestamp;  -- this
is how I "declare" the user-defined data structure (I could not find
any other way)

create function func1()
returns my_view as '
declare
   my_record   my_view%rowtype;
begin
   .....
   .....
   my_record.type := ''AAA'';
   my_record.value := 25;
   my_record.timestamp := now();   -- this is for simplicity

   return my_record;
end;
' LANGUAGE 'plpgsql';

create function func2()
returns varchar as '
declare
   my_record   my_view%rowtype;
begin
   select func1() into my_record;

   return my_record.type;
end;
' LANGUAGE 'plpgsql';


It compiles and runs fine, except that it does not return what it's
supposed to. It gives me some strange huge number, which I assume is
some kind of OID


I know that there are quite a few gurus of PostgreSQL out there -
please help me solve this problem. May be my whole approach is wrong,
but I need to be able to accomplist this: pass some kind of
user-defined structures between function

Thank you so much for your help

Alla Gribov

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

Предыдущее
От: iu_23@hotmail.com (Dawn)
Дата:
Сообщение: multiple sql update w/ major time issues
Следующее
От: Gaizka Villate
Дата:
Сообщение: Sub-SELECT uses un-GROUPed attribute: how to solve.