Hello, Even though I'm new to postgresql, I've been a programmer for 18+ years. Working mainly with Unix and databases
(Oracle,sybase, informix, db2) and languages such as C,Perl, and lately Java. I'm currently working with a J2EE system
runningon Orion working with PostgreSQL on Linux.
I am rewriting a long running J2EE piece of the application as a PL/pgSQL stored procedure and I'm having an issue with
somethingthat is as old as programming languages themselves. I'm trying to assign a return value from a function to a
variable.Sounds simple enough, but I still do not have the syntax down - after spending a day reading and searching. I
wonderif you could help.
The function is called calc_facility_percentiles and is defined to return a float. the fifthpct variable is a float.The
function actually has a return statement at the end of it that is returning a float. So, I do not know what the issue
is.I've tried SELECT INTO, I've tried SELECT INTO with another SELECT. I've tried the direct assignment of := This is
justnuts! None of them work. See all the versions I've tried below:
funcparm := ''05'';
--SELECT INTO fifthpct calc_facility_percentiles(funcparm,_wagerateid);
--SELECT INTO fifthpct SELECT calc_facility_percentiles(''05'',_wagerateid);
--fifthpct := SELECT calc_facility_percentiles(''05'',_wagerateid);
--fifthpct := calc_facility_percentiles(''05'',_wagerateid);
fifthpct := calc_facility_percentiles(funcparm,_wagerateid);
Here is the function signature:
CREATE OR REPLACE FUNCTION calc_facility_percentiles(VARCHAR(2),INTEGER) RETURNS FLOAT AS
I'm wondering if I'm not handling the varchar(2) correctly?
The error is:
Error occurred while executing PL/pgSQL function calc_facilities
WARNING: line 166 at assignment
ERROR: syntax error at or near ";"
So, I guess my question is : How to I assign the returning float value from my function to a variable?
Thank you very much for any help you can give me.
Betsy Barker