[firebase-br] Inserir um novo campo em todas as tabelas
Samuel Duarte Matos
samuelmatos em cprinformatica.com.br
Qua Jun 6 10:08:19 -03 2007
Bom, vamos lá
Não existe mágica para o que vc deseja fazer.
O que vc pode fazer é uma procedure no banco, que selecione todas as tabelas
do sistema e monte os scripts necessários para atualizar seu banco de dados.
Seria mais ou menos assim :
Faça um for select nas tabelas, a partir das tabelas do sistema.
Monte uma string que será o script de geração do cd_empresa (alter table
:nometabela add cd_empresa integer not null)
Crie uma foreign key do campo cd_empresa (assim, vc não precisa criar
índice)
Atualiza o campo cd_empresa em cada tabela, com o código desejado.
Execute esta procedure, e ela deve te retornar scripts para criar o campo, a
foreign e o update para todas as tabelas que vc quer.
Daí é só exportar estes dados e mandar bala nos clientes.
Espero ter ajudado
Samuel
"Fausto" <fausto.s.a em uol.com.br> escreveu na
mensagem news:46657C8D.7010503 em uol.com.br...
Bom dia amigos..
Devido a um mal planejamento no design de uma base de dados, cheguei a
conclusão que preciso inserir um campo "CD_EMPRESA INTEGER NOT NULL" em
todas as tabelas de minha base e ainda por cima criar um indice para
este campo, existe alguma forma de fazer isso via script?
E ainda neste script eu gerar um trigger para ser disparado no before
insert de cada tabela este trigger iria simplesmente gravar o codigo da
empresa neste campo.
Explico. o sistema,ainda em desenvolvimento, passou a ser multi-empresa,
portanto vou precisar deste novo campo para identificar os registros de
cada empresa.
Estou utilizando Delphi 7 +DBExpress+Firebird 1.53 com RemObjects.
Grato
Fausto
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista