Fórum Exclusão De Constraint #44845
14/06/2004
0
Preciso alterar varias constraint, para poder alterar as todas chaves primarias (preciso incluir uma nova chave primaria). Criei um script e quando vou executar no ´ibexpert´ não consigo. Como se trata de muitas alterações, não estou conseguindo. Só consigo fazer uma de cada vez, para cada constraint que excluo preciso desconectar e conectar novamente ao banco,e dessa forma vai levar horas, e ainda teria que dirigir-me a cada cliente(alguns moram fora de minha cidade) que tenho ficando demasiadamente dificil e demorado. Abaixo segue um exemplo do que estou tentanto e a mensagem do ibexpert.
Gostaria de orientacão de como proceder para poder excluir varias constraint atravez de um Script, e se é mesmo necessario Conectar e Desconectar do banco a cada exclusão/Alteração?
[]s.
=== Line: 33 ===================================================================
********* Statement:
ALTER TABLE CLIENTE DROP CONSTRAINT FK_CLIENTE_UF
********* Error:
This operation is not defined for system tables.
unsuccessful metadata update.
object INDEX is in use .
=== Line: 35 ===================================================================
********* Statement:
ALTER TABLE CLIENTE DROP CONSTRAINT FK_CLIENTE_VENDEDOR
ALTER TABLE CLIENTE DROP CONSTRAINT PK_CLIENTE;
ALTER TABLE CLIENTE ADD CONSTRAINT PK_CLIENTE PRIMARY KEY (ID_EMPRESA,ID);
********* Error:
This operation is not defined for system tables.
unsuccessful metadata update.
object INDEX is in use .
=== Line: 67 ===================================================================
********* Statement:
ALTER TABLE CONTAS_A_PAGAR DROP CONSTRAINT FK_CONTASPAGARR_IDECCENT
********* Error:
This operation is not defined for system tables.
unsuccessful metadata update.
object INDEX is in use .
=== Line: 68 ===================================================================
********* Statement:
ALTER TABLE CONTAS_A_PAGAR DROP CONSTRAINT FK_CONTASPAGAR_ENTRADAS
********* Error:
This operation is not defined for system tables.
unsuccessful metadata update.
object INDEX is in use .
=== Line: 69 ===================================================================
********* Statement:
ALTER TABLE CONTAS_A_PAGAR DROP CONSTRAINT FK_CONTASPAGAR_FORNECEDOR
********* Error:
This operation is not defined for system tables.
unsuccessful metadata update.
object INDEX is in use .
etc.....
Siro
Curtir tópico
+ 0Posts
15/06/2004
Maicongabriel
Gostei + 0
15/06/2004
Siro
Explicando melhor.
Preciso [b:d39f875131]EXCLUIR TODAS PRIMARY KEY e FOREING KEYS E RECRIA-LAS NOVAMENTES[/b:d39f875131], para poder incluir um novo campo para que a chave primaria e a integridade fique composta. Por isso preciso excluir todas as constraints que existe no banco e recontrui-las novamente.
[]s.
Gostei + 0
15/06/2004
Maicongabriel
Tomando como exemplo, este pequeno pedaço que você postou::
ALTER TABLE CLIENTE DROP CONSTRAINT PK_CLIENTE; ALTER TABLE CLIENTE ADD CONSTRAINT PK_CLIENTE PRIMARY KEY (ID_EMPRESA,ID);
Você não pode dropar e Recriar sem antes realmente efetivar as alterações entre uma e outra ação; É ai que entra o Commit Work;
Logo:
ALTER TABLE CLIENTE DROP CONSTRAINT PK_CLIENTE; COMMIT WORK; ALTER TABLE CLIENTE ADD CONSTRAINT PK_CLIENTE PRIMARY KEY (ID_EMPRESA,ID); COMMIT WORK;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)