Fórum Trocar tipos de dados #37855
07/08/2003
0
preciso trocar o tipo da chave primaria para integer.
2. tabela B chave primaria varchar, trocar para integer. só que tem uma foreign key que é a chave primaria da tabela A que é varchar e preciso trocar para integer.
3. tabela C, tem duas foreign key que são a chave primaria de A e B.
como faço isso?
[]´s
Paulo.
Paulo Bonfim
Curtir tópico
+ 0Posts
07/08/2003
Afarias
Agora se é um banco ´em produção´ hum..... acho q vc pode seguir os segintes passos:
1 - certifíque-se q todos os valores podem ser convertidos para INTEGER
2 - drope todas as foreign keys e primary keys
alter table nome_tabela drop constraint nome_constraint;
3 - renomei os campos para um outro nome tipo CODIGO -> CODIGO_1
alter table nome_tabela alter nome_campo to nome_campo_1
4 - crie os campos como integer
alter table nome_tabela add nome_campo integer not null;
5 - insira os valores dos campos varchar nos campos integer
update nome_tabela set nome_campo = cast(nome_campo_1 as integer);
6 - crie novamente as foreign keys e primary keys
alter table nome_tabela add constraint ... ;
7 - drope os campos varchar
alter table nome_tabela drop nome_campo_1;
Uma boa lida no SQL REFERENCE que acompanha o Interbase é de boa ajuda, principalmente no comando ALTER TABLE.
T+
Gostei + 0
09/08/2003
Paulo Bonfim
Obrigado, resolveu a situação.
em relação ao SQL reference o do meu computador está com problema
consigo ver os caracteres que estão em negrito, mas os outros não consigo lê
[]´s
Paulo.
Gostei + 0
09/08/2003
Afarias
|consigo lê
Coisa estranha! Isso acontece com qualquer HLP??
Baixe também a documentação do IB 6.0 -- vc tem o SQL Reference tb nas versão HTML:
http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_download#DOCS
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)