Alterar tipo de coluna
Atualmente estou trabalhando em uma empresa que utiliza o banco de dados PostGres 8.2. Porem com a chegada no Windows 8.1, tivemos a necessidade de instalar o banco de dados PostGres 9.3.
Porém, quando executo a query abaixo, me retorna um erro, na linha que esta comentada.
select tbestoquedia.*,
tbcadprodutos_BKP.unidade,
tbcadprodutos_BKP.grupo
from tbestoquedia,
tbcadprodutos_BKP
where data ='2015-01-02'
and tbcadprodutos_BKP.codempresa = '1'
and tbcadprodutos_BKP.grupo = 'COMBUSTIVEL'
and tbcadprodutos_BKP.subgrupo = 'COMBUSTIVEL'
--and tbestoquedia.produto = tbcadprodutos.codfabrica
and tbcadprodutos_BKP.inventario ='SIM'
order by data,tbestoquedia.descricao
Analisando o caso, foi identificado que as colunas (tbestoquedia.produto = tbcadprodutos.codfabrica) são de tipos diferentes, e por este motivo não é possível executar a consulta.
Assim, gostaria de alterar o tipo de uma coluna, com o comando abaixo:
ALTER TABLE TBCADPRODUTOS_BKP alter column codfabrica type character varying(255)
Mas, é me retornado a mensagem de erro:
ERRO: não pode alterar tipo de uma coluna utilizada por uma visão ou regra
DETAIL: regra _RETURN em visão vwficha depende da coluna "codfabrica"
********** Error **********
ERRO: não pode alterar tipo de uma coluna utilizada por uma visão ou regra
SQL state: 0A000
Detail: regra _RETURN em visão vwficha depende da coluna "codfabrica"
Gostaria de saber se algum poderia/saberia, qual comando devo utilizar para alterar o tipo da coluna sem excluir as informações e a coluna e criar novamente?
Desde já agradeço, ajuda!
Porém, quando executo a query abaixo, me retorna um erro, na linha que esta comentada.
select tbestoquedia.*,
tbcadprodutos_BKP.unidade,
tbcadprodutos_BKP.grupo
from tbestoquedia,
tbcadprodutos_BKP
where data ='2015-01-02'
and tbcadprodutos_BKP.codempresa = '1'
and tbcadprodutos_BKP.grupo = 'COMBUSTIVEL'
and tbcadprodutos_BKP.subgrupo = 'COMBUSTIVEL'
--and tbestoquedia.produto = tbcadprodutos.codfabrica
and tbcadprodutos_BKP.inventario ='SIM'
order by data,tbestoquedia.descricao
Analisando o caso, foi identificado que as colunas (tbestoquedia.produto = tbcadprodutos.codfabrica) são de tipos diferentes, e por este motivo não é possível executar a consulta.
Assim, gostaria de alterar o tipo de uma coluna, com o comando abaixo:
ALTER TABLE TBCADPRODUTOS_BKP alter column codfabrica type character varying(255)
Mas, é me retornado a mensagem de erro:
ERRO: não pode alterar tipo de uma coluna utilizada por uma visão ou regra
DETAIL: regra _RETURN em visão vwficha depende da coluna "codfabrica"
********** Error **********
ERRO: não pode alterar tipo de uma coluna utilizada por uma visão ou regra
SQL state: 0A000
Detail: regra _RETURN em visão vwficha depende da coluna "codfabrica"
Gostaria de saber se algum poderia/saberia, qual comando devo utilizar para alterar o tipo da coluna sem excluir as informações e a coluna e criar novamente?
Desde já agradeço, ajuda!
Vinicius Redorat
Curtidas 0
Respostas
Ronaldo Lanhellas
22/01/2015
Porque você não faz simplesmente um cast do tipo da coluna para a comparação ser possível ?
cast(tbestoquedia.produto as integer) = cast(tbcadprodutos.codfabrica as integer)
GOSTEI 0
Ronaldo Lanhellas
22/01/2015
Porque você não faz simplesmente um cast do tipo da coluna para a comparação ser possível ?
cast(tbestoquedia.produto as integer) = cast(tbcadprodutos.codfabrica as integer)
GOSTEI 0
Vinicius Redorat
22/01/2015
Bom dia, Ronaldo!
Tudo bem?
Muito obrigado, pela ajuda/orientação!
Após alteração mencionado, a query passou a ser executada com sucesso.
Abraço...
Tudo bem?
Muito obrigado, pela ajuda/orientação!
Após alteração mencionado, a query passou a ser executada com sucesso.
Abraço...
GOSTEI 0
Ronaldo Lanhellas
22/01/2015
Bom dia, Ronaldo!
Tudo bem?
Muito obrigado, pela ajuda/orientação!
Após alteração mencionado, a query passou a ser executada com sucesso.
Abraço...
Tudo bem?
Muito obrigado, pela ajuda/orientação!
Após alteração mencionado, a query passou a ser executada com sucesso.
Abraço...
Disponha.
GOSTEI 0