[pgbr-geral] REF: ALTERAR TAMANHO DA COLUNA.
Olá Pessoal, Preciso alterar todas as colunas numeric(15.2) para numeric(18.2). Existe uma forma de alterar todas as tabelas do banco, sem ter que ir uma a uma ? Agradeço qualquer dica. Obrigado. Paulo. --- Este email está limpo de vírus e malwares porque a proteção do avast! Antivírus está ativa. http://www.avast.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: ALTERAR TAMANHO DA COLUNA.
Opa, Em 24 de junho de 2014 10:51, Paulo Pereira escreveu: > Olá Pessoal, > > Preciso alterar todas as colunas numeric(15.2) para numeric(18.2). > Existe uma forma de alterar todas as tabelas do banco, sem ter que ir uma > a uma ? > Sim. Você pode fazer um função em PLPGSQL, por exemplo, que faça isso para você :) > > Agradeço qualquer dica. > > Obrigado. > > Paulo. > > > --- > Este email está limpo de vírus e malwares porque a proteção do avast! > Antivírus está ativa. > http://www.avast.com > > ___ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > Abraços -- 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: ALTERAR TAMANHO DA COLUNA.
Em 24 de junho de 2014 11:50, JotaComm escreveu: > Opa, > > > Em 24 de junho de 2014 10:51, Paulo Pereira > escreveu: > > Olá Pessoal, >> >> Preciso alterar todas as colunas numeric(15.2) para numeric(18.2). >> Existe uma forma de alterar todas as tabelas do banco, sem ter que ir >> uma a uma ? >> > > Sim. Você pode fazer um função em PLPGSQL, por exemplo, que faça isso > para você :) > > >> >> Agradeço qualquer dica. >> >> Obrigado. >> >> Paulo. >> >> >> --- >> Este email está limpo de vírus e malwares porque a proteção do avast! >> Antivírus está ativa. >> http://www.avast.com >> >> ___ >> pgbr-geral mailing list >> pgbr-geral@listas.postgresql.org.br >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> > > > Abraços > > -- > 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 > > opa.. ta ai uma pl que utilizo as vezes, teste e veja se te ajuda BEGIN TRANSACTION; DO $$DECLARE r record; DECLARE s TEXT; BEGIN FOR r IN select c.table_schema,c.table_name, c.column_name from information_schema.tables t inner join information_schema.columns c on c.table_catalog = t.table_catalog and c.table_schema = t.table_schema and c.table_name = t.table_name left join information_schema.key_column_usage u on c.table_catalog = u.table_catalog and c.table_schema = u.table_schema and c.table_name = u.table_name and c.column_name = u.column_name where c.table_schema not like '%pg%' and c.table_schema ='dah' and c.data_type like 'numeric' and c.numeric_precision=15 and c.numeric_scale=2 group by 1,2,3 LOOP s := 'ALTER TABLE ' || quote_ident(c.table_schema) || '.' || quote_ident(c.table_name)|| 'ALTER COLUMN' || quote_ident(c.column_name)|| TYPE numeric(18,2) || ';'; EXECUTE s; RAISE NOTICE 's = % ',s; END LOOP; END$$; ROLLBACK TRANSACTION; -- Douglas Fabiano Specht ___ 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: ALTERAR TAMANHO DA COLUNA.
2014-06-24 10:51 GMT-03:00 Paulo Pereira : > > Existe uma forma de alterar todas as tabelas do banco, sem ter que ir uma a > uma ? Usar DOMAINs. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (61) 3546 7191 gTalk: xmpp:leand...@jabber.org +55 (61) 9302 2691ICQ/AIM: aim:GoIM?screenname=61287803 BRAZIL GMT−3 MSN: msnim:chat?contact=lean...@dutra.fastmail.fm ___ 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: ALTERAR TAMANHO DA COLUNA.
Em 25 de junho de 2014 09:16, Guimarães Faria Corcete DUTRA, Leandro < l...@dutras.org> escreveu: > 2014-06-24 10:51 GMT-03:00 Paulo Pereira : > > > > Existe uma forma de alterar todas as tabelas do banco, sem ter que ir > uma a > > uma ? > > Usar DOMAINs. > > > -- > skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra > +55 (61) 3546 7191 gTalk: xmpp:leand...@jabber.org > +55 (61) 9302 2691ICQ/AIM: aim:GoIM?screenname=61287803 > BRAZIL GMT−3 MSN: msnim:chat?contact=lean...@dutra.fastmail.fm > ___ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > E ai Amigo deu ceto no exemplo que enviei? posta ai para no futuro alguem precisar ja tem a resposta.. -- Douglas Fabiano Specht ___ 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: ALTERAR TAMANHO DA COLUNA.
2014-06-25 9:16 GMT-03:00 Guimarães Faria Corcete DUTRA, Leandro < l...@dutras.org>: > > Existe uma forma de alterar todas as tabelas do banco, sem ter que ir > uma a > > uma ? > > Usar DOMAINs. DOMAINs não iriam ajudar nesse caso. Não é possível alterar o tipo de dados de um DOMAIN. O que posso pensar que ajudariam, é na execução de uma PL, onde cria-se um novo DOMAIN depois faz-se um ALTER TABLE de toda tabela/coluna que usava o antigo para passar a usar o novo. Mesmo nesse caso não fugiríamos de uma consulta + ALTER TABLE dinâmico, mas pelo menos pode-se filtrar melhor do que o chute de todo "numeric(x, y)". Atenciosamente, -- Matheus de Oliveira Analista de Banco de Dados Dextra Sistemas - MPS.Br nível F! www.dextra.com.br/postgres ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral