By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
437,933 Members | 1,686 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 437,933 IT Pros & Developers. It's quick & easy.

table functions + user defined types

P: n/a
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). Howto do this?

Thanks for your advice in advance

Zoltan Bartko
Nov 12 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
On 27/10/03 3:20 pm, "BARTKO, Zoltan" <ba***********@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.
---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Nov 12 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.