[firebase-br] violation of FOREIGN KEY constraint "".

Cleidson Developer cleidson.developer em gmail.com
Seg Mar 26 14:53:01 -03 2007


Alguém sabe me dizer o que significa esse erro ai ?

Estou executando uma instrucao SQL usando o IBEXPERT e ta dando esse erro.

violation of FOREIGN KEY constraint "".
violation of FOREIGN KEY constraint "FK_PEDIDOS_ITENS_PEDIDOS" on table 
"PEDIDOS_ITENS".

Teoricamente seria porque eu estaria violando a chave estrangeira, mas 
os dados que estou usando na instrucao INSERT existem nas tabelas 
relacionadas.

Ta ai a estrutura delas:

Estrutura da tabela PEDIDOS_ITENS:

CREATE TABLE PEDIDOS_ITENS (
     PEDIDOS_ITENS_ID  DM_CAMPOCHAVE NOT NULL /* DM_CAMPOCHAVE = BIGINT */,
     PEDIDO_ID         DM_CAMPOCHAVE NOT NULL /* DM_CAMPOCHAVE = BIGINT */,
     QUANTIDADE        INTEGER NOT NULL,
     PRODUTO_ID        INTEGER NOT NULL,
     PRECO_UNIT        FLOAT NOT NULL,
     TIPO              VARCHAR(15)
);

ALTER TABLE PEDIDOS_ITENS ADD CONSTRAINT PK_PEDIDOS_ITENS PRIMARY KEY 
(PEDIDOS_ITENS_ID);

ALTER TABLE PEDIDOS_ITENS ADD CONSTRAINT FK_PEDIDOS_ITENS_PEDIDOS 
FOREIGN KEY (PEDIDO_ID) REFERENCES PEDIDOS (PEDIDO_ID) ON DELETE CASCADE 
ON UPDATE CASCADE;

CREATE INDEX PEDIDOS_ITENS_IDX_PEDIDO_ID ON PEDIDOS_ITENS (PEDIDO_ID);
CREATE INDEX PEDIDOS_ITENS_PRODUTO_ID_A ON PEDIDOS_ITENS (PRODUTO_ID);


Estrutura da tabela PEDIDOS:

CREATE TABLE PEDIDOS (
     PEDIDO_ID       DM_CAMPOCHAVE NOT NULL /* DM_CAMPOCHAVE = BIGINT */,
     NUMPEDIDO       VARCHAR(15),
     VENDEDOR_ID     INTEGER NOT NULL,
     CLIENTE_ID      INTEGER NOT NULL,
     DATA_PEDIDO     DATE NOT NULL,
     COMISSAO        FLOAT NOT NULL,
     DESCONTO        FLOAT NOT NULL,
     VALOR_DESCONTO  FLOAT NOT NULL
);

Instrução que está sendo executada:

INSERT INTO
     pedidos_itens(
     pedidos_itens_id,
     PEDIDO_ID,
     QUANTIDADE,
     PRODUTO_ID,
     PRECO_UNIT,
     TIPO)
VALUES
     (1,1,1,1,15,'Brinde')



Outro detalhe é que esse erro comecou a aparecer em outras tabelas do 
mesmo DB. Já recriei o DB do zero e isso continua.





Mais detalhes sobre a lista de discussão lista