<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Comentários sobre: ALTER TABLE em massa no PostgreSQL&#8230;</title>
	<atom:link href="http://makeall.wordpress.com/2008/03/27/alter-table-em-massa-no-postgresql/feed/" rel="self" type="application/rss+xml" />
	<link>http://makeall.wordpress.com/2008/03/27/alter-table-em-massa-no-postgresql/</link>
	<description>cd /usr/src/universe &#38;&#38; make all</description>
	<pubDate>Tue, 30 Sep 2008 23:44:22 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Por: Guedes</title>
		<link>http://makeall.wordpress.com/2008/03/27/alter-table-em-massa-no-postgresql/#comment-8</link>
		<dc:creator>Guedes</dc:creator>
		<pubDate>Sun, 30 Mar 2008 04:42:56 +0000</pubDate>
		<guid isPermaLink="false">http://makeall.wordpress.com/?p=25#comment-8</guid>
		<description>&lt;blockquote&gt;
Leonardo Cezar Disse:
março 28, 2008 às 7:14 pm e

(...)
Respondendo a dúvida do colega, poderíamos ainda utilizar direcionamentos ou pipes nomeados para executar tudo num só comando, ex.:
&lt;/blockquote&gt;

Grande Leo!

Bem lembrado, é uma ótima alternativa essa, unindo o útil ao agradável.

[]s</description>
		<content:encoded><![CDATA[<blockquote><p>
Leonardo Cezar Disse:<br />
março 28, 2008 às 7:14 pm e</p>
<p>(&#8230;)<br />
Respondendo a dúvida do colega, poderíamos ainda utilizar direcionamentos ou pipes nomeados para executar tudo num só comando, ex.:
</p></blockquote>
<p>Grande Leo!</p>
<p>Bem lembrado, é uma ótima alternativa essa, unindo o útil ao agradável.</p>
<p>[]s</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Leonardo Cezar</title>
		<link>http://makeall.wordpress.com/2008/03/27/alter-table-em-massa-no-postgresql/#comment-6</link>
		<dc:creator>Leonardo Cezar</dc:creator>
		<pubDate>Fri, 28 Mar 2008 22:14:21 +0000</pubDate>
		<guid isPermaLink="false">http://makeall.wordpress.com/?p=25#comment-6</guid>
		<description>Antes de mais nada, parabens pelo blog. Particularmente admiro blogs voltados para o técnico (nós).

Respondendo a dúvida do colega, poderíamos ainda utilizar direcionamentos ou pipes nomeados para executar tudo num só comando, ex.:

&lt;code&gt;
$ psql -p5433 postgres -c "`psql -p5433 postgres -At &#60;&#60;_SQL_
SELECT 'ALTER TABLE '&#124;&#124;table_name&#124;&#124;
             ' ALTER COLUMN '&#124;&#124;column_name&#124;&#124;
            ' TYPE numeric(17,2);'pos
  FROM information_schema.columns
    WHERE
      data_type = 'numeric'  AND
      numeric_precision = 12 AND
      numeric_scale     = 2;
_SQL_
`"
&lt;/code&gt;

-Leo</description>
		<content:encoded><![CDATA[<p>Antes de mais nada, parabens pelo blog. Particularmente admiro blogs voltados para o técnico (nós).</p>
<p>Respondendo a dúvida do colega, poderíamos ainda utilizar direcionamentos ou pipes nomeados para executar tudo num só comando, ex.:</p>
<p><code><br />
$ psql -p5433 postgres -c "`psql -p5433 postgres -At &lt;&lt;_SQL_<br />
SELECT 'ALTER TABLE '||table_name||<br />
             ' ALTER COLUMN '||column_name||<br />
            ' TYPE numeric(17,2);'pos<br />
  FROM information_schema.columns<br />
    WHERE<br />
      data_type = 'numeric'  AND<br />
      numeric_precision = 12 AND<br />
      numeric_scale     = 2;<br />
_SQL_<br />
`"<br />
</code></p>
<p>-Leo</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Guedes</title>
		<link>http://makeall.wordpress.com/2008/03/27/alter-table-em-massa-no-postgresql/#comment-4</link>
		<dc:creator>Guedes</dc:creator>
		<pubDate>Fri, 28 Mar 2008 13:15:52 +0000</pubDate>
		<guid isPermaLink="false">http://makeall.wordpress.com/?p=25#comment-4</guid>
		<description>&lt;blockquote&gt;
Luiz Antonio Disse:
março 28, 2008 às 9:39 am e

Pode me dizer o que o scritp abaixo irá fazer? pois desconheço alteração usando SELECT. Para alterar o typo de uma column usando um alter table é visualmente simples, o problema é fica dando ALTER TABLE para todas as tabelas que tem column numeric (12,2). Me esplica melhor ae.
&lt;/blockquote&gt;

Caro Luiz,

O SELECT que voce cita esta Concatenando 'ALTER TABLE ' mais o nome da tabela, mais ' ALTER COLUMN ' mais o nome da coluna mais ' TYPE numeric(17,2)' o resultado disso é uma saida que lista todos os comandos formatados, prontos para serem executados, em outras palavras voce pode copiar essa saida e colar num arquivo script.sql e executa-lo. No PostgreSQL ele usa a &lt;em&gt;view colmuns&lt;/em&gt; para obter essas informações, em outros bancos voce precisa analisar cada caso, no Oracle por exemplo voce utilizaria a &lt;em&gt;view ALL_COLUMNS&lt;/em&gt;, por exemplo..

Você ja tentou fazer um select dessa forma?

&lt;code&gt;
SELECT 'Nome da pessoa é: ' &#124;&#124; nome_pessoa FROM tb_pessoa;
&lt;/code&gt;

A idéia é a mesma, mas o pulo do gato é utilizar isso para gerar um script para você, ou seja, uma saída de dados que voce pode colocar num arquivo e executar...

espero que tenha entendido... ":)</description>
		<content:encoded><![CDATA[<blockquote><p>
Luiz Antonio Disse:<br />
março 28, 2008 às 9:39 am e</p>
<p>Pode me dizer o que o scritp abaixo irá fazer? pois desconheço alteração usando SELECT. Para alterar o typo de uma column usando um alter table é visualmente simples, o problema é fica dando ALTER TABLE para todas as tabelas que tem column numeric (12,2). Me esplica melhor ae.
</p></blockquote>
<p>Caro Luiz,</p>
<p>O SELECT que voce cita esta Concatenando &#8216;ALTER TABLE &#8216; mais o nome da tabela, mais &#8216; ALTER COLUMN &#8216; mais o nome da coluna mais &#8216; TYPE numeric(17,2)&#8217; o resultado disso é uma saida que lista todos os comandos formatados, prontos para serem executados, em outras palavras voce pode copiar essa saida e colar num arquivo script.sql e executa-lo. No PostgreSQL ele usa a <em>view colmuns</em> para obter essas informações, em outros bancos voce precisa analisar cada caso, no Oracle por exemplo voce utilizaria a <em>view ALL_COLUMNS</em>, por exemplo..</p>
<p>Você ja tentou fazer um select dessa forma?</p>
<p><code><br />
SELECT 'Nome da pessoa é: ' || nome_pessoa FROM tb_pessoa;<br />
</code></p>
<p>A idéia é a mesma, mas o pulo do gato é utilizar isso para gerar um script para você, ou seja, uma saída de dados que voce pode colocar num arquivo e executar&#8230;</p>
<p>espero que tenha entendido&#8230; &#8220;:)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Luiz Antonio</title>
		<link>http://makeall.wordpress.com/2008/03/27/alter-table-em-massa-no-postgresql/#comment-2</link>
		<dc:creator>Luiz Antonio</dc:creator>
		<pubDate>Fri, 28 Mar 2008 12:39:34 +0000</pubDate>
		<guid isPermaLink="false">http://makeall.wordpress.com/?p=25#comment-2</guid>
		<description>Pode me dizer o que o scritp abaixo irá fazer? pois desconheço alteração usando SELECT. Para alterar o typo de uma column usando um alter table é visualmente simples, o problema é fica dando ALTER TABLE para todas as tabelas que tem column numeric (12,2). Me esplica melhor ae. E Parabens pelo post.

SELECT

     'ALTER TABLE '   &#124;&#124; table_name  &#124;&#124;

     ' ALTER COLUMN ' &#124;&#124; column_name &#124;&#124;

     ' TYPE numeric(17,2);'

FROM

     information_schema.columns

WHERE

     data_type = 'numeric'  AND

     numeric_precision = 12 AND

     numeric_scale     = 2;</description>
		<content:encoded><![CDATA[<p>Pode me dizer o que o scritp abaixo irá fazer? pois desconheço alteração usando SELECT. Para alterar o typo de uma column usando um alter table é visualmente simples, o problema é fica dando ALTER TABLE para todas as tabelas que tem column numeric (12,2). Me esplica melhor ae. E Parabens pelo post.</p>
<p>SELECT</p>
<p>     &#8216;ALTER TABLE &#8216;   || table_name  ||</p>
<p>     &#8216; ALTER COLUMN &#8216; || column_name ||</p>
<p>     &#8216; TYPE numeric(17,2);&#8217;</p>
<p>FROM</p>
<p>     information_schema.columns</p>
<p>WHERE</p>
<p>     data_type = &#8216;numeric&#8217;  AND</p>
<p>     numeric_precision = 12 AND</p>
<p>     numeric_scale     = 2;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
