Folks,
I wrote that function, wich doesn't work. I want to hand over the name
of the tables(relation_table, update_table) and a
column(column_to_fill). The intention is, to use the function also with
other tables(not hard coded).
BUT this error appears :
psql:restructure.sql:32: ERROR: parser: parse error at or near "$1"
I didn't found any solution.
I would be grateful , if I could get some more Examples(more than in the
Docu of www.postgresql.org and Bruce Monjiam's Book) about parameters in
PL/PGSQL - functions.
I would be no less grateful if anybody give detailed suggestions.
CREATE FUNCTION patient_study_restructure (text,text,text) RETURNS
integer AS '
DECLARE
relation_table ALIAS FOR $1;
update_table ALIAS FOR $2;
column_to_fill ALIAS FOR $3;
psr_rec record;
bound integer;
i integer := 0;
BEGIN
FOR psr_rec IN SELECT * FROM relation_table LOOP
UPDATE update_table
SET column_to_fill = psr_rec.parentoid
WHERE chilioid = psr_rec.childoid;
i := i + 1;
END LOOP;
IF NOT FOUND THEN RETURN 1;
ELSE RETURN i;
END IF;
END;
' LANGUAGE 'plpgsql';
SELECT
patient_study_restructure('relpatient_study000','study','patientoid');
Anybody (Jan Wieck?) who can make some sugestions on
the above will
receive my enthusiastic gratitude.
David