Trocar tipos de dados
1. tenho uma tabela A que tem a chave primaria do tipo varchar.
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.
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
Curtidas 0
Respostas
Afarias
07/08/2003
se vc puder, apenas drop tudo e crie novamente... :-)
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+
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
Paulo Bonfim
07/08/2003
se vc puder, apenas drop tudo e crie novamente... :-)
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+
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
Afarias
07/08/2003
|consigo ver os caracteres que estão em negrito, mas os outros não
|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+
|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