Обсуждение: Error message with a SQL function
Hi I try to create the following SQL function: CREATE FUNCTION update_affiliate(int,double precision,double precision) RETURNS void AS ' UPDATE affiliate SET balance=balance + $2, balance_in_points=balance_in_points + ( $2 / $3 ) WHERE id = $1; ' LANGUAGE 'sql'; but when I submit this query directly with PostgreSQL, I have the following error message: PostgreSQL said: ERROR: Unable to locate type oid 325664 in catalog I think the problem comes from the first parameter ($1) but I don't understand because affiliate.id is indeed the primary key of the table affiliate. Has anybody an idea ? Thanks Krystoffff
proghome@silesky.com (krystoffff) writes: > CREATE FUNCTION update_affiliate(int,double precision,double > precision) RETURNS void AS ' UPDATE affiliate SET balance=balance + > $2, balance_in_points=balance_in_points + ( $2 / $3 ) WHERE id = $1; ' > LANGUAGE 'sql'; I don't believe there was a type "void" in PG 7.1. IIRC, back then the custom was to say "RETURNS opaque" in this situation. It's probably time for you to update to something newer ... regards, tom lane
Thanks You were right, it was because of the return void But I think in the documentation, I read somewhere that this kind of return was allowed ... I must have mistaken ...