[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