return: text lang: plpgsql parameters: p0: type: text name: tablename p1: type: text name: field_prefix src: | DECLARE w_tablename TEXT; w_field_prefix TEXT; result TEXT; BEGIN w_tablename = tablename; IF w_tablename = '' THEN w_tablename = 't_articles'; END IF; w_field_prefix = field_prefix; IF w_field_prefix = '' THEN w_field_prefix = 'article'; END IF; EXECUTE 'UPDATE econom.p_profils SET ' || w_field_prefix || '_id = ' || w_tablename || '.oid FROM econom.' || w_tablename || ' WHERE ' || w_tablename || '.code_original = p_profils.' || w_field_prefix || '_code_original AND ' || w_field_prefix || '_id IS DISTINCT FROM ' || w_tablename || '.oid;'; EXECUTE 'UPDATE econom.p_profils SET ' || w_field_prefix || '_id = 0 WHERE ' || w_field_prefix || '_id IS NULL;'; EXECUTE 'UPDATE econom.p_profils SET ' || w_field_prefix || '_code = ' || w_tablename || '.code, ' || w_field_prefix || '_texte = ' || w_tablename || '.texte_court FROM econom.' || w_tablename || ' WHERE ' || w_tablename || '.oid = p_profils.' || w_field_prefix || '_id AND (' || w_field_prefix || '_code IS DISTINCT FROM ' || w_tablename || '.code OR ' || w_field_prefix || '_texte IS DISTINCT FROM ' || w_tablename || '.texte_court);'; RETURN 'OK'; END;