Olá, 2009/11/26 VisualP Sistemas <pa...@visualpsistemas.com.br>
> Ola Pessoal, > > Preciso incluir uma nova coluna em todas as tabelas > de um sistema e gostaria de saber se alguem conhece > alguma forma de incluir automaticamente esta nova coluna > de forma automatica. > > Algo do tipo: > ALTER TABLE todas_tabelas ADD COLUMN novo_campo char(1); > > Alguem tem alguma dica ou script ??? > Você pode fazer o seguinte: CREATE OR REPLACE FUNCTION f_adiciona_coluna() RETURNS boolean AS $$ DECLARE lista RECORD; BEGIN FOR lista IN SELECT tablename FROM pg_tables WHERE schemaname='public' ORDER BY tablename LOOP EXECUTE 'ALTER TABLE ' || lista.tablename || ' ADD COLUMN codigo INTEGER'; RAISE NOTICE 'Coluna adicionada na tabela %.',lista.tablename; END LOOP; IF FOUND THEN RETURN TRUE; END IF; RETURN FALSE; END; $$ LANGUAGE PLPGSQL; Neste exemplo é adicionada a coluna codigo do tipo integer em todas as tabelas do esquema public. É uma função bem simples, agora é só você adaptar para o seu caso. > > > Obrigado. > > Paulo. > > > > _______________________________________________ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > []s -- JotaComm http://jotacomm.wordpress.com
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral