Quando for assim... Mando só no meu email ...
Att:
Thiago Risso
[EMAIL PROTECTED]
On 10/30/06, Marcos Fabrício Corso <[EMAIL PROTECTED]> wrote:
ola, estou tentando usar essa rotina que passou na lista para alterar nome de campos de tabelas, voce conseguiu executar corretamente, para mim nao mudou nenhum campo ...tem que mudar alguma coisa no fonte ou nao ...obrigadoAtenciosamente,
Marcos Fabrício Corso
Analista de Sistemas Júnior
JM Informática
(41) 3352-2688
[EMAIL PROTECTED]----- Original Message -----From: Thiago RissoSent: Thursday, October 19, 2006 1:52 PMSubject: Re: [PostgreSQL-Brasil] alterar nome da tabela e do campoSim...
Alterou todas as tabelas (apenas 2 que criei para teste) e seus respectivos campos !
On 10/19/06, joao cosme de oliveira junior < [EMAIL PROTECTED]> wrote:funcionou?
Em Quinta 19 Outubro 2006 13:59, Thiago Risso escreveu:
> Depois do toque do João.... Fiz alguns ajustezinhos :
>
> CREATE OR REPLACE FUNCTION toLowerTablesAndFields()
> RETURNS text AS
> $BODY$
> DECLARE
> recTables RECORD;
> recFields RECORD;
> lowerTable varchar;
> lowerField varchar;
> table varchar;
> field varchar;
> schema varchar;
> BEGIN
> -- SELECIONA AS TABELAS E ESQUEMAS
> FOR recTables IN SELECT n.nspname,relname FROM pg_catalog.pg_class c
> JOIN
> pg_catalog.pg_roles r ON r.oid = c.relowner LEFT JOIN
> pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE relkind = 'r'
> AND n.nspname ='teste' --NOT IN ('pg_catalog', 'pg_toast',
> 'information_schema')
> LOOP
> table := recTables.relname;
> lowerTable := lower(table);
> schema :=recTables.nspname;
> EXECUTE 'ALTER TABLE "'||schema||'"."'||table||'" RENAME TO
> "tmp_'||lowerTable||'"' ;
> EXECUTE 'ALTER TABLE "'||schema||'"."tmp_'||lowerTable||'"
> RENAME TO "'||lowerTable||'"';
>
> -- SELECIONA OS CAMPOS DA TABELAS
> FOR recFields IN SELECT a.attname FROM pg_catalog.pg_attribute
> a JOIN pg_catalog.pg_class
> c on c.oid = a.attrelid WHERE a.attnum > 0 AND NOT
> a.attisdropped AND
> c.relname = table
> LOOP
> field:=recFields.attname;
> lowerField := lower(field);
> EXECUTE 'ALTER TABLE "'||schema||'"."'||lowerTable||'"
> RENAME COLUMN "'||field||'" TO "tmp_'||lowerField||'"';
> EXECUTE 'ALTER TABLE "'||schema||'"."'||lowerTable||'"
> RENAME COLUMN "tmp_'||lowerField||'" TO "'||lowerField||'"';
> END LOOP;
>
>
> END LOOP;
> RETURN 'Acabou!!';
> END;
> $BODY$
> LANGUAGE 'plpgsql' VOLATILE;
>
> Att:
> Thiago Risso
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/
Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios
E-mail classificado pelo Identificador de Spam Inteligente.
Para alterar a categoria classificada, visite o Terra Mail
Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 18/10/2006 / Versão: 4.4.00/4876
Proteja o seu e-mail Terra: http://mail.terra.com.br/
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/
Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/
Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios
_______________________________________________ Grupo de Usuários do PostgreSQL no Brasil Antes de perguntar consulte o manual http://pgdocptbr.sourceforge.net/
Para editar suas opções ou sair da lista acesse a página da lista em: http://pgfoundry.org/mailman/listinfo/brasil-usuarios