create function question - Mailing list pgsql-general

From Zhou, Lixin
Subject create function question
Date
Msg-id 6EDF654BC7BFE648AB2E734727E7078D0737D7@illumina24.illumina.com
Whole thread Raw
Responses Re: create function question  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
List 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';




pgsql-general by date:

Previous
From: "Edward Grabczewski"
Date:
Subject: Help with PLPGSQL syntax please
Next
From: Mayan
Date:
Subject: PostgreSQL dirver?