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