I want to write a function that creates a new column for every value
found in the table but something seems to go wrong with the variable:

CREATE FUNCTION transp() RETURNS int4 AS '
        DECLARE
                col RECORD;
                cname varchar;
        BEGIN
                CREATE TABLE tmp_trans (label) AS
                        SELECT label FROM view_inc_age_1;
                FOR col IN SELECT DISTINCT age_code FROM view_inc_age_1
LOOP
                        cname := col.age_code;
                        ALTER TABLE tmp_trans ADD COLUMN cname int4;
                END LOOP;
                RETURN 0;
        END;
' LANGUAGE 'plpgsql';


persons=# SELECT transp();
ERROR:  parser: parse error at or near "$1"

The problem occurs in the line containing "ALTER TABLE". Does anybody
know what is going wrong?

    Hans


---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to