Fórum Alterar tamanho campo de Primary Key ( composta ) #46783
17/09/2004
0
Como faço para alterar o tamanho do campo EMPRESA, de 4 para 6,
via SQL, sem perder os dados já existentes, sendo:
EMPRESA - VARCHAR(4) NOT NULL ( primary key)
REGIAO - VARCHAR(10) NOT NULL ( primary key)
GERENTE VARCHAR(40)
TELEFONE VARCHAR(14)
CIDADE VARCHAR(30)
Desde já agradeço,
Geraldo
Jose Oliveira
Curtir tópico
+ 0Posts
17/09/2004
Fsflorencio
Além da constraint este campo não pode ter nenhuma dependência como stored procedures, triggers ou views. Caso tenha, vc deve dropar e depois criar novamente estas dependências.
alterando o tipo de campo por SQL não há perda de nenhuma informação.
Se vc tentar alterar para um tamanho menor isto não é possível, sendo necessária a criação de um campo novo do tipo correto transferindo para sí os registros do campo a ser alterado e depois renomeando este campo depois de dropar o campo velho.
blz!
Gostei + 0
17/09/2004
Martins
Só aproveitando o q o colega falou, seria interessante vc fazer um estudo sobre o uso de dominios, se bem q ainda assim vc teria q dorpar as dependências e indices, mas não perderia seus dados.
PS: Seria interessante vc utilizar o IB-Expert, acho q fica mais fácil do q o IBConsole.
T[+]...
Gostei + 0
17/09/2004
Gandalf.nho
Gostei + 0
17/09/2004
Jose Oliveira
primary Key.
Desta forma não tem como dropar a constraint que define a chave primária.
Qual a solução nesse caso.
Obrigado, Geraldo.
Gostei + 0
17/09/2004
Afarias
|primary Key.
sequência::
alter table nome_da_tabela drop constraint nome_da_primary_key;
alter table nome_da_tabela alter empresa type varchar(6);
alter table nome_da_tabela add constraint nome_da_nova_primary_key
primary key (empresa, regiao);
T+
Gostei + 0
17/09/2004
Martins
Show de bola... uma questão de analise lógica da situação, ainda bem q podemos contar com companheiros dedicados a ajudar o próximo.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)