12345678910111213141516171819 |
- CREATE OR REPLACE FUNCTION normalize_seq() RETURNS VOID AS $$
- DECLARE
- statements CURSOR FOR
- SELECT '''' || relname || '''' as seqname,substring(relname from 1 for (char_length(relname) -7)) as tablename
- FROM pg_class
- WHERE relkind = 'S' and
- relname in
- (select table_name||'_id_seq'
- from information_schema.columns
- where table_catalog = 'golden_24_10' and table_schema = 'public' and column_name = 'id');
- BEGIN
- FOR smt IN statements LOOP
- RAISE NOTICE 'Secuencia actualizada: %',smt.seqname;
- EXECUTE 'select pg_catalog.setval(' || smt.seqname || ', (select max(id)+1 from ' || smt.tablename || '), true)';
- END LOOP;
- END;
- $$ LANGUAGE PLPGSQL;
- SELECT normalize_seq();
|