É bom você avaliar se vale a pena criar uma coluna apenas para
armazenar um dado derivado de outra.
Dependendo do caso você pode remover o dígito na montagem do select do
relatório ou da aplicação, mais ou menos assim:
select col1,
substring(col1 from 1 for length(col1) -1) as col2
from t
Em 11 de janeiro de 2012 15:22, Julianna Trindade
escreveu:
> Pessoal, preciso criar uma coluna 2 na minha tabela baseada em uma coluna 1
> já existente.
> A coluna 2 será preenchida pelos valores da coluna 1 sem o ultimo digito.
> Como fazer isso no Postgresql??
>
Tente:
ALTER TABLE sua_tabela
Flávio,
Creio que a melhor forma seria você implementar via trigger, pode criar
a coluna2 com o mesmo tipo da coluna1 e aceitando valor nulo, mas você
garante a integridade pela trigger, no momento de insert ou update você
pode testar o conteúdo da coluna1 e retirar ou acrescentar o que quiser
> Pessoal, preciso criar uma coluna 2 na minha tabela baseada em uma coluna 1
> já existente.
> A coluna 2 será preenchida pelos valores da coluna 1 sem o ultimo digito.
> Como fazer isso no Postgresql??
Se for do tipo char, varchar ou text:
UPDATE tabela SET coluna2 = substring(coluna1 from 0 for
Não conheço a estrutura da sua tabela, mas seria algo simples como abaixo:
ALTER TABLE sua_tabela ADD COLUMN coluna2 tipo_de_dado;
UPDATE sua_tabela SET coluna2 = SUBSTR(coluna1,1,(LENGTH(coluna1)-1));
É simples mas acho que pode resolver sua questão.
Att.
Danilo
Em 11 de janeiro de 2012 15:22
Pessoal, preciso criar uma coluna 2 na minha tabela baseada em uma coluna 1
já existente.
A coluna 2 será preenchida pelos valores da coluna 1 sem o ultimo digito.
Como fazer isso no Postgresql??
--
Julianna Trindade
"Exalta-te, Senhor, na Tua força! Nós cantaremos e louvaremos o Teu poder."