Обсуждение: Calling functions with numeric parameters
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
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
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 | +------------------------------+-------------------------------------------+
Dave Cramer wrote: >Tim, > >Use setBigDecimal > >Dave > > Thanks. Missed that one. Tim