create function question

From: "Zhou, Lixin" <LZhou(at)illumina(dot)com>
To: "'pgsql-general(at)postgresql(dot)org'" <pgsql-general(at)postgresql(dot)org>
Subject: create function question
Date: 2001-10-29 22:54:24
Message-ID: 6EDF654BC7BFE648AB2E734727E7078D0737D7@illumina24.illumina.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

The following function always returns NULL when I call it like this:

select get_bundle_id('1009699', '1', '1').

If I replace b, r, c with '1009699', '1', '1' inside the function body, it
returns the correct id!

I changed the first line of b_id to b_id int, and that does not make
difference.

I changed the lines with '' to something like this: '' || b || '' and no
lucky either.

I am wondering what's wrong with this fuction.

Thanks.

Lixin

create function get_bundle_id(varchar(25), varchar(4), varchar(4)) returns
integer as'
declare
b_id bundle.bundle_id%type;
b alias for $1;
r alias for $2;
c alias for $3;
begin
select into b_id bundle.bundle_id
from block, bundle
where block.block_id = bundle.block_id
and bundle.bundle_row = ''r''
and bundle.bundle_column = ''c''
and block.block_id = (select block_id
from block
where populated_serial_no = ''b''
order by _loading_time_ desc
limit 1)
;
if not found then
raise notice ''can not compute bundle_id for % % %'', b, r, c;
end if;
return b_id;
end;
'
language 'plpgsql';

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Doug McNaught 2001-10-29 23:42:24 Re: Differential Backups
Previous Message Lixin Zhou 2001-10-29 22:22:59 Re: create function question