-- -- content_type__trigger_insert_statement/1 -- create or replace function content_type__trigger_insert_statement( character varying ) returns varchar as $$ declare trigger_insert_statement__content_type alias for $1; v_table_name acs_object_types.table_name%TYPE; v_id_column acs_object_types.id_column%TYPE; cols varchar default ''; vals varchar default ''; attr_rec record; begin if trigger_insert_statement__content_type is null then return exception 'content_type__trigger_insert_statement called with null content_type'; end if; select table_name, id_column into v_table_name, v_id_column from acs_object_types where object_type = trigger_insert_statement__content_type; for attr_rec in select attribute_name from acs_attributes where object_type = trigger_insert_statement__content_type LOOP cols := cols || ', ' || attr_rec.attribute_name; vals := vals || ', p_new.' || attr_rec.attribute_name; end LOOP; return 'insert into ' || v_table_name || ' ( ' || v_id_column || cols || ' ) values (v_revision_id' || vals || ')'; end;$$ language plpgsql;