Re: [pgbr-geral] REF. Adicionar Nova Coluna
Olá JotaComm, Ficou show. era exatamente o que eu precisava. Obrigado pela dica. - Original Message - From: JotaComm To: Comunidade PostgreSQL Brasileira Sent: Thursday, November 26, 2009 10:02 PM Subject: Re: [pgbr-geral] REF. Adicionar Nova Coluna 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 __ NOD32 4640 (20091126) Information __ This message was checked by NOD32 antivirus system. http://www.eset.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] REF. Adicionar Nova Coluna
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 ??? Obrigado. Paulo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] REF. Adicionar Nova Coluna
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
Re: [pgbr-geral] REF. Adicionar Nova Coluna
2009/11/26 JotaComm jota.c...@gmail.com: 2009/11/26 VisualP Sistemas pa...@visualpsistemas.com.br CREATE OR REPLACE FUNCTION f_adiciona_coluna() Alternativa para quem curte menos programar usar o mesmo algoritmo, mas rodar no psql para gerar um script. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (11) 3854 7191 gTalk: xmpp:leand...@jabber.org +55 (11) 9406 7191ICQ/AIM: aim:GoIM?screenname=61287803 BRAZIL GMT-3 MSN: msnim:chat?contact=lean...@dutra.fastmail.fm Sent from Sao Paulo, SP, Brazil ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral