Assigning a return value from a function to a variable.

From: Betsy Barker <betsy(dot)barker(at)supportservicesinc(dot)com>
To: pgsql-novice(at)postgresql(dot)org
Subject: Assigning a return value from a function to a variable.
Date: 2004-07-15 23:07:01
Message-ID: 20040715170701.49ebc5d4.betsy.barker@supportservicesinc.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

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 running on 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 something that 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 wonder if 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 just nuts! 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

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Tom Lane 2004-07-16 03:35:31 Re: Assigning a return value from a function to a variable.
Previous Message Julian Leyh 2004-07-15 22:30:55 Re: postgres account default password