Fórum Urgente erro muito estranho ao criar tabela #38221
22/08/2003
0
Estou tentando criar uma tabela em meu banco de dados, e ao tentar criar esta tabela recebo a seguinte mensagem de erro.
[color=red:e9999c7c13]STORE RDB$RELATION_FIELDS failed
attempt to store duplicate value (visible to active transactions) in unique index ´RDB$INDEX[/color:e9999c7c13]_15´
O que faco para resolver?
Utilizo IBExpert para manipulacao do banco de dados e FireBird para gerenciamento.
Aqui esta o script da Tabela:
Create table CadPro
( ICODINTPRO INTEGER Not Null,
CCODIGO VARCHAR(20) Not Null,
CDESCRICAO CHAR(65) Not Null,
CCOMPLENTO1 CHAR(65),
CCOMPLENTO2 CHAR(65),
CCOMPLENTO3 CHAR(65),
CSITUACAO CHAR(1),
DDATCAD DATE,
ICODFOR SMALLINT,
ICODGRU SMALLINT,
ICODFAB SMALLINT,
CAPELIDO CHAR(65),
QESTOQUE NUMERIC(12,4),
QESTMAX NUMERIC(12,4),
QESTMIN NUMERIC(12,4),
PPERCUS NUMERIC(12,4),
PPERTAB NUMERIC(12,4),
PPERMIN NUMERIC(12,4),
PPERVEN NUMERIC(12,4),
PPERVEN2 NUMERIC(12,4),
VPRCCUS NUMERIC(12,4),
VPRCTAB NUMERIC(12,4),
VPRCMIN NUMERIC(12,4),
VPRCVEN NUMERIC(12,4),
VPRCVEN2 NUMERIC(12,4),
PALIIPI NUMERIC(12,4),
PALIICMS NUMERIC(12,4),
PALIII NUMERIC(12,4),
PALIISS NUMERIC(12,4),
PALISUBI NUMERIC(12,4),
PALIREDICMS NUMERIC(12,4),
PIMPSIMPLES NUMERIC(12,4),
PIMPCOFINS NUMERIC(12,4),
PIMPPIS NUMERIC(12,4),
PIMPICMS NUMERIC(12,4),
PIMPCOMI NUMERIC(12,4),
PIMPOUTROS NUMERIC(12,4),
PIMPLUCRO NUMERIC(12,4),
PPERIPIC NUMERIC(12,4),
PPERFREC NUMERIC(12,4),
PPERTXFI NUMERIC(12,4),
LCREICM_E CHAR(1),
LCREIPI_E CHAR(1),
LREDICM_E CHAR(1),
LCREICM_S CHAR(1),
LCREIPI_S CHAR(1),
LREDICM_S CHAR(1),
ICODCLAFIS SMALLINT,
ICODSITTRI SMALLINT,
ICODFOR SMALLINT,
ICODEMB SMALLINT,
ICODOBS SMALLINT,
CUNIDADE VARCHAR(3),
PCOMIVEN NUMERIC(12,4),
NPESO NUMERIC(12,4),
CPRATELEIRA CHAR(65),
ICODTIPPROD SMALLINT,
MOBS BLOB,
CMEDIDA VARCHAR(10),
IGARANTIA SMALLINT,
CTIPOGARAN VARCHAR(10),
ICODGRAT SMALLINT,
ICODGRAC SMALLINT,
THORALTPRC TIME,
ICODEMP SMALLINT,
NLARG NUMERIC,
NCOMPRIMENTO NUMERIC,
NESPESSURA NUMERIC,
NDIVISOR NUMERIC
)
Rodrigo Ferreira
Curtir tópico
+ 0Posts
22/08/2003
Torres Delphi
Faca um select nesta tabela de sistema (RDB$RELATION_FIELDS). Maiores detalhes vc pode pegar no site www.firebase.com.br ´Tabelas de sistema
Funcao da tabela RDB$RELATION_FIELDS:
´Mantém a lista dos campos das tabelas e as informações das características de uma coluna para os domínios. Os nomes dos campos são relacionados através da coluna RDB$FIELD_SOURCE, com um registro na tabela RDB$FIELDS que contém um nome de sistema (´SQL$<n>´). Os dados armazenados incluem informações sobre os tipos das colunas, e podem conter informações sobre os valores default e possibilidade de NULLs.´
Outra coisa, acho que vc precisa melhorar a normalizacao de seu modelo.
Tem certeza que vc precisa de todos esses campos em uma unica tabela?
Separe os dados ref impostos, dimensoes em outra e assim por diante. Depois para ligar as tabelas, faca relacionamento com o ID do produto.
Fica mais limpo e correto.
Gostei + 0
22/08/2003
Rodrigo Ferreira
Gostei + 0
22/08/2003
Afarias
ICODFOR
No mais, aconselho seguir os comentários do Torres sobre normalização.
T+
Gostei + 0
25/08/2003
Rodrigo Ferreira
Agradeço a colaboração de todos vc´s irmâos.
fui valeu.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)