Hi *,
I'm starting with PL/pgSQL but can't exactly find out how to do
something like this:
CREATE FUNCTION textkey (text, int4) RETURNS text AS '
DECLARE
tabel ALIAS FOR $1;
id ALIAS FOR $2;
result record;
BEGIN
select lname into result from tabel
where person_id=id;
return result;
END;
' LANGUAGE 'plpgsql';
csbase=> select textkey ('person',111) as result;
ERROR: parser: parse error at or near "$1"
postmaster.log:
StartTransactionCommand
query: select textkey ('person',111) as result;
ProcessQuery
query: SELECT lname from $1 where person_id=$2
ERROR: parser: parse error at or near "$1"
DEBUG: Last error occured while executing PL/pgSQL function textkey
DEBUG: line 6 at select into variables
AbortCurrentTransaction
How does one do things like this? Why aren't the $n variables expanded
in the logfile?
Maybe it is documented but I can't find it in chapter 11 of the Programmer's
Guide. Are there other places where PL/pgSQL is explained?
By the way: I'm using 6.5.2 on RedHat 6.1
Regards,
+-----------------------------------------------------------------------+
| Henk van Lingen, Systems Administrator, <henkvl@cs.uu.nl> |
| Dept. of Computer Science, Utrecht University. phone: +31-30-2535278 |
+----------------- http://www.cs.uu.nl/people/henkvl/ ------------------+