Re: [pgbr-geral] REF. Adicionar Nova Coluna

2009-11-27 Por tôpico VisualP Sistemas
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

2009-11-26 Por tôpico VisualP Sistemas
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

2009-11-26 Por tôpico JotaComm
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 Por tôpico Leandro DUTRA
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