Обсуждение: table functions + user defined types
Ladies and Gentlemen,
Please, enlighten me, if you can, in the following matter:
I made a type:
create type my_type as (
a integer,
b integer
);
since I have a table:
create table my_table (
a integer;
);
and I have now a function too:
create or replace function my_func (
integer, -- a
integer, -- b
) returns setof my_type as
'
declare
pa alias for $1;
pb alias for $2;
-- declarations
my_value my_type;
begin
my_value.a := pa;
my_value.b := pb;
return my_value;
end;
' language 'plpgsql';
when I run this darling function I get a parse error pointing to the line after "begin".
What am I doing wrong? I have skimmed through all the manuals, had a look at the postgresql cookbook, no info on this. I just would like to have a function that returns more fields at the same time - add a column to table my_table, where I could occasionally return some value (e.g. error code). How to do this?
Thanks for your advice in advance
Zoltan Bartko
On 27/10/03 3:20 pm, "BARTKO, Zoltan" <bartko.zoltan@pobox.sk> wrote:
> Ladies and Gentlemen,
>
> Please, enlighten me, if you can, in the following matter:
>
> I made a type:
>
> create type my_type as (
> a integer,
> b integer
> );
>
> since I have a table:
>
> create table my_table (
> a integer;
> );
>
> and I have now a function too:
>
> create or replace function my_func (
> integer, -- a
> integer, -- b
> ) returns setof my_type as
> '
> declare
> pa alias for $1;
> pb alias for $2;
> -- declarations
> my_value my_type;
> begin
> my_value.a := pa;
> my_value.b := pb;
> return my_value;
> end;
> ' language 'plpgsql';
Try this....
create or replace function my_func (
integer, -- a
integer -- b
) returns my_type as
'
declare
pa alias for $1;
pb alias for $2;
-- declarations
my_value record;
begin
select into my_value pa, pb;
return my_value;
end;
' language 'plpgsql';
> when I run this darling function I get a parse error pointing to the line
> after "begin".
>
> What am I doing wrong? I have skimmed through all the manuals, had a look at
> the postgresql cookbook, no info on this. I just would like to have a
> function that returns more fields at the same time - add a column to table
> my_table, where I could occasionally return some value (e.g. error code). How
> to do this?
>
> Thanks for your advice in advance
>
> Zoltan Bartko
>
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.