Marcos Fabrício Corso escreveu:
> nao deu certo essa rotina, os campos continuam em minusculo ...
>
>
> Atenciosamente,
> Marcos Fabrício Corso
> Analista de Sistemas Júnior
> JM Informática
> (41) 3352-2688
> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
>
> ----- Original Message -----
> *From:* Sebastian Selau Webber Colombo <mailto:[EMAIL PROTECTED]>
> *To:* Grupo de Usuários do PostgreSQL no Brasil
> <mailto:[email protected]>
> *Sent:* Monday, October 30, 2006 2:56 PM
> *Subject:* Re: [PostgreSQL-Brasil] alterar nome da tabela e do campo
>
> abre o pgadin e seleciona um database.
> depois vai no menu Tools > Query Tool
>
> no editor de sql, tu cola código que o pessoal indicou acima e
> aperta o botão F5.
>
> para executar a função criada é só digitar:
> select toLowerTablesAndFields()
>
>
>
> PS: caso de algum problema do tipo:
> ERROR: language "plpgsql" does not exist
> HINT: Use CREATE LANGUAGE to load the language into the database.
>
> dae tu cria a linguagem procedural nesta database:
>
> CREATE TRUSTED PROCEDURAL LANGUAGE 'plpgsql'
> HANDLER plpgsql_call_handler
> VALIDATOR plpgsql_validator;
>
> cero então?
>
> Forte abraço!
>
>
>
> On 10/30/06, *Marcos Fabrício Corso* <[EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]>> wrote:
>
> sobre esta rotina, como devo executar ???
> uso o postgres 8.1 com pgadmin III ???
>
>
> Atenciosamente,
> Marcos Fabrício Corso
> Analista de Sistemas Júnior
> JM Informática
> (41) 3352-2688
> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
>
> ----- Original Message -----
> *From:* Thiago Risso <mailto:[EMAIL PROTECTED]>
> *To:* Grupo de Usuários do PostgreSQL no Brasil
> <mailto:[email protected]>
> *Sent:* Thursday, October 19, 2006 1:52 PM
> *Subject:* Re: [PostgreSQL-Brasil] alterar nome da tabela e
> do campo
>
>
> Sim...
> 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] <mailto:[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
Atenção para:
AND n.nspname ='teste'
A rotina só está tratando o esquema 'teste'.
É o seu caso?
[]s
Osvaldo
_______________________________________________________
Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular.
Registre seu aparelho agora!
http://br.mobile.yahoo.com/mailalertas/
_______________________________________________
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