Thread: Calling functions with numeric parameters

Calling functions with numeric parameters

From
Tim Penhey
Date:
Hi All,

I have a plpgsql function that takes a numeric parameter.  It is for a
price in a table.  The table has the price declared as numeric(10,2),
and the function parameter is just numeric.  However in Java I have the
price represented as a double.

Using jdbc setDouble for a parameter for the function causes causes an
ERROR saying that the function taking a double precision parameter does
not exist (which is obviously correct).

What do other people do?

    Is there a way to pass a numeric parameter through JDBC?
    Should the parameter to the function be a double which is the "cast"
into the numeric inside the function?

Your ideas are welcome.
Tim


Re: Calling functions with numeric parameters

From
Dave Cramer
Date:
Tim,

Use setBigDecimal

Dave
On Wed, 2004-09-15 at 08:01, Tim Penhey wrote:
> Hi All,
>
> I have a plpgsql function that takes a numeric parameter.  It is for a
> price in a table.  The table has the price declared as numeric(10,2),
> and the function parameter is just numeric.  However in Java I have the
> price represented as a double.
>
> Using jdbc setDouble for a parameter for the function causes causes an
> ERROR saying that the function taking a double precision parameter does
> not exist (which is obviously correct).
>
> What do other people do?
>
>     Is there a way to pass a numeric parameter through JDBC?
>     Should the parameter to the function be a double which is the "cast"
> into the numeric inside the function?
>
> Your ideas are welcome.
> Tim
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
--
Dave Cramer
519 939 0336
ICQ # 14675561
www.postgresintl.com


Re: Calling functions with numeric parameters

From
Paul Thomas
Date:
On 15/09/2004 13:01 Tim Penhey wrote:
> Hi All,
>
> I have a plpgsql function that takes a numeric parameter.  It is for a
> price in a table.  The table has the price declared as numeric(10,2), and
> the function parameter is just numeric.  However in Java I have the price
> represented as a double.
>
> Using jdbc setDouble for a parameter for the function causes causes an
> ERROR saying that the function taking a double precision parameter does
> not exist (which is obviously correct).
>
> What do other people do?
>
>    Is there a way to pass a numeric parameter through JDBC?
>    Should the parameter to the function be a double which is the "cast"
> into the numeric inside the function?
>
> Your ideas are welcome.


I've not tried it myself but BigDecimal seems to the one to use.

HTH

--
Paul Thomas
+------------------------------+-------------------------------------------+
| Thomas Micro Systems Limited | Software Solutions for Business           |
| Computer Consultants         | http://www.thomas-micro-systems-ltd.co.uk |
+------------------------------+-------------------------------------------+

Re: Calling functions with numeric parameters

From
Tim Penhey
Date:
Dave Cramer wrote:

>Tim,
>
>Use setBigDecimal
>
>Dave
>
>
Thanks.  Missed that one.
Tim