Re: PLPGSQL problem with SELECT INTO

Started by Tom Lanealmost 23 years ago2 messagesgeneral
Jump to latest
#1Tom Lane
tgl@sss.pgh.pa.us

"Jay O'Connor" <joconnor@cybermesa.com> writes:

CREATE FUNCTION countRows (varchar, varchar) RETURNS int AS
'
DECLARE
val1 ALIAS FOR $1;
val2 ALIAS FOR $2;
total int;
BEGIN
SELECT INTO total count(*) FROM mytable WHERE fieldone =
val1 AND fieldtwo = val2;
RETURN total;
END;
' LANGUAGE PLPGSQL;

The value returned is much higher. Actaully, it is exactly what the number
should be without the AND query. No matter what I'. passing for the second
variable, I get the same result (even if it's a value not in that column
for any record)

I kinda suspect you have an unexpected variable substitution. Is the
above *exactly* how the offending function reads, or have you
editorialized on the names used?

regards, tom lane

#2Jay O'Connor
joconnor@cybermesa.com
In reply to: Tom Lane (#1)

On 2003.05.29 14:41 Tom Lane wrote:

I kinda suspect you have an unexpected variable substitution. Is the
above *exactly* how the offending function reads, or have you
editorialized on the names used?

It was editorialized and in the editorializing I obscured the real issue.
I had a local variable name and a column name in my query as the same name,
differenitated only by case. Unfortunately, plpgsql did not see them as
different :)

Take care,
Jay