Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gilliveira

Restrição de Integridade

Recommended Posts

Olá galera..Preciso criar Restrições de Integridade em um Banco oracle já pronto. Em algumas tabelas, não é possível a criação de Foreign Key ...e para resolver esse problema tenho duas soluções, mas não sei se é viável...implementar as funcionalidade de FK na aplicação(Delphi) ou utilizar Trigger com funções em pacotes para fazer essas restrições ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é possível por que , as constraints não se habilitam devido ao legado ?

Ou seja existem casos de filhos sem pai na base ?

 

Neste caso eu faria com Trigger tentando estabelecer uma linha de corte.

 

Utilizando as tabelas de Metadados , dá até para fazer uma procedure para gerar o script de geração destas triggers, se o nº de tabelas for grande compensa o esforço de fazer o programa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

aê..Motta brigadão pela força...uma parte do problema é esse mesmo de filhos sem pai. Você sabe onde poderia encontrar mais detalhes para gerar essa procedure com a utilização de tabelas Metadados ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este sql gera um script com as contrants faltantes , pode ter dar uma ideia de como fazer

 

SELECT ('ALTER TABLE ' || TABLE_NAME ||
 ' ADD CONSTRAINT XFK_' || TABLE_NAME || '_TP_MOV FOREIGN KEY (chave) ' ||
 'REFERENCES tabela mae (chave);') SCRIPT
FROM   USER_TAB_COLUMNS
WHERE  COLUMN_NAME = 'chave'
AND	TABLE_NAME NOT IN (SELECT DISTINCT TABLE_NAME
						  FROM   USER_CONSTRAINTS
						  WHERE  R_CONSTRAINT_NAME = (SELECT CONSTRAINT_NAME
													  FROM   USER_CONSTRAINTS
													  WHERE  TABLE_NAME = 'tabela mae' AND
													  CONSTRAINT_TYPE = 'P')

Compartilhar este post


Link para o post
Compartilhar em outros sites

aê..cara esse script vai ajudar para criar as FK...será q tem como eu gerar um script para inserir dados na tabela PAI...que estão cadastrados na tabela filho...mas não tem cadastro na tabela pai ...apenas p que seja possivel criar a FK ? mesmo que esses dados sejam ficticios...vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depende do que é a tabela pai , é tabela de tipagem ?

 

Se você criar o registro pai e a fk depois não poderá excluir o registro pai.

 

São quantos casos de tabelas sem a constraint de fk ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.