Função em PLSQL para corrigir as os valores das sequences.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | CREATE OR REPLACE FUNCTION "public"."fixsequence"() RETURNS "pg_catalog"."int2" AS $BODY$declare v_reg record; v_sql varchar; BEGIN FOR v_reg IN ( SELECT t.table_name FROM information_schema.TABLES t WHERE t.table_schema = 'public' ) loop v_sql := 'SELECT setval(''' || v_reg.table_name || '_id_seq'', (SELECT max(id)+1 FROM ' || v_reg.table_name || '))'; execute v_sql; end loop; RETURN 1; END $BODY$ LANGUAGE 'plpgsql' VOLATILE; |
Furtada descaradamente do Ariel Pat$%&S#.