Thread: 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