Executando um Update Cascade em um banco de dados Oracle

Executar atualização de Primary Key em um banco de dados oracle usando um "update cascade" em um banco de dados.

Migrações de um banco de dados para outro está cada vez mais comum, o problema é a migração de dados que estão relacionados via PK e Fk, uma ajuda muito boa seria a possibilidade de poder atualizar a PK em um tabela, e o banco de dados se encarregasse de atualizar no banco de dados todas as relações existentes entre a tabela pai e a filha. Abaixo vamos verificar como fazer isso em um  banco de dados oracle usando trigger e stored procedure.

1º Passo :

                Criar um banco de dados de exemplo para aplicar o conceito, para isso crie um usuário no oracle, depois execute os scripts  demobld.sql

 

2º Passo :

                Após criar o nosso banco de exemplo, vamos rodar no banco de dados criado o seguinte script : uc.sql em anexo no artigo.

3º Passo :

                No SQLPlus do oracle, conectado ao banco criado, execute o seguinte comando para cada tabela que será feito a atualização da PK :

                Exec update_cascade.on_table(‘Nome da Tabela’);

4º Passo :

                Execute o comando de atualização de banco de dados com no exemplo a seguir, aproveitando o banco criado no passo 1:

UPDATE  DEPT  SET DEPTNO = 1000 WHERE DEPTNO = 10;

 

O RESULTADO SERÁ QUE ONDE O SISTEMA ENCONTRAR O DEPTNO = 10 , A TRIGGER TROCARÁ NAS TABELAS FILHAS ONDE ENCONTRAR O VALO 10 POR 1000, SEM PRECISAR DESABILITAR AS CONSTRAINT DO BANCO DE DADOS             

http://www.makersoftware.com.br/all.tar


Artigos relacionados