----- Original Message -----
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]>
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]
----- Original Message -----
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]> 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
--
Atenciosamente,
Sebastian Selau Webber Colombo
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 27/10/2006 / Versão: 4.4.00/4883
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