Atualização de determinado campo em todo o Banco

21/12/2005

0

pessoal

tenho uma banco de dados q está em diversos clientes e hoje possui mais de 160 tabelas.
em muitas dessas tabelas eu tenho o campo CD_CLIENTE (Integer) que é um dos principais do sistema.
teremos que liberar um update que pegará todos os campos CD_CLIENTE (independente de fazer parte de uma chave ou não) e atualizar o seu código.
então hoje por exemplo, tenho o CD_CLIENTE = 1, em determinada operação ele passará a ser 110001.
gostaria de uma função que passasse em todas as tabelas do sistema e que se encontrar o campo CD_CLIENTE e encontrar o valor 1, fizesse então a alteração para o 110001.
tenho como fazer isso através de comandos SQL sem especificar as tabelas, ou seja, sem ficar varrendo tabela por tabela?


utilizo D7 e FB1.5

obrigado

Diogo


Diogoalles

Diogoalles

Responder

Posts

21/12/2005

Emerson Nascimento

monte o relacionamento (FK) com a opção UpdateCascade. Assim, quando o valor do campo for alterado, todas as tabelas que utlizam esse campo como chave estrangeira serão modificados.


Responder

21/12/2005

Diogoalles

Olá Emerson,

bem, não entendi muito bem, mas o campo CD_CLIENTE não necessariamente faz parte de uma chave, as vezes sim, outras não!

de forma mais ´grosseira´ seria:

UPDATE ´todas_tabelas´ (q tiverem o campo CD_CLIENTE) SET CD_CLIENTE = 1100001 WHERE CD_CLIENTE = 1;

obrigado


Responder

21/12/2005

Emerson Nascimento

´bem, não entendi muito bem, mas o campo CD_CLIENTE não necessariamente faz parte de uma chave, as vezes sim, outras não!´
um banco de dados sem os devidos relacionamentos pode perder a integridade muito facilmente. reveja seus conceitos.

se o seu banco de dados estivesse bem modelado e com as chaves estrangeiras (relacionamentos) feitos corretamente, você precisaria fazer o update apenas na tabela de clientes. as demais tabelas seriam alteradas automaticamente pelo mecanismo do banco de dados.

como você não deve ter feito seu banco de dados dessa forma, sugiro que você faça seu update via stored procedures, utilizando as tabelas de sistema para montar as instruções corretamente e fazer as devidas atualizações.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar