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

Reply via email to