[firebase-br] Mudanca no tamanho da serie de NF e InterBase 6
Paulo
psdlistdisc em terra.com.br
Sáb Out 1 08:55:24 -03 2005
Pessoal:
Talvez esse assunto interesse a todos que possuem sistemas
que operam notas fiscais.
Pergunta resumida:
Nos bancos de dados do InterBase 6, alguem sabe o que sao os registros
da tabela RDB$DEPENDENCIES. Especialmente, gostaria de saber
para que o IB utiliza os registros onde o campo RDB$DEPENDENT_NAME
contem o valor 'CHECK_1', 'CHECK_2', etc.
Preciso saber disso porque, devido a uma manutencao que estou fazendo
nos BDs de meus clientes, terei de apagar alguns desses registros.
Para verem os registros nos seus bancos de dados (para quem usa o
InterBase),
facam um SELECT * FROM RDB$DEPENDENCIES
Se necessario, vejam os detalhes abaixo.
Muito obrigado pela atencao de todos
Paulo
Detalhes
-------------------
- Utilizo Delphi 3 com BDE 5.202 e base de dados InterBase 6
- Em meus sistemas, o campo SERNF ("Serie da Nota Fiscal) possui
2 posicoes, e como o governo agora esta' exigindo 3 posicoes,
criei alguns scripts (dentro de um programa Delphi) para modificar esse
campo,
pois tenho muitos clientes e terei de fazer essa manutencao em quase todos
eles.
Faco assim:
1) Apago as PRIMARY KEYs e as FOREIGN KEYs de todas
as tabelas que utilizam o campo SERNF
2) Uso o comando ALTER TABLE com ALTER COLUMN
para modificar o tamanho de 2 para 3 posicoes
3) Recrio as PRIMARY KEYs e FOREIGN KEYs que havia
apagado antes
Problema:
- Quando o programa que executa esses procedimentos chega
na etapa "2", aparece um erro referindo-se a um tal de CHECK _1
(ou CHECK_2, CHEK_3, etc.) existente na tabela
RDB$DEPENDENCIES, e que se referem ao campo SERNF.
- Para contornar o problema, eu estou apagando os registros onde
da tabela RDB$DEPENDENCIES referentes ao campo SERNF.
Depois disso, os comandos ALTER COLUMN funcionam
normalmente
- Obs.: Depois que eu recrio as PRIMARY KEYs e FOREIGN KEYs,
o InterBase recria os 'CHECK_1', 'CHECK_2', etc. Em todo caso, gostaria
de ter certeza se ao apagar aqueles registros da RDB$DEPENDENCIES
eu nao estou danificando algo no banco de dados.
Grato pela atencao
Paulo
Mais detalhes sobre a lista de discussão lista