[firebase-br] erro insert em procedure

Daniel daniellcr em yahoo.com.br
Qua Set 22 17:24:33 -03 2010


Olá pessoal, dá uma ajuda aí se possível.

tenho a seguinte insert em uma procedure

insert into  MOV_BANCARIA (CODIGO               ,DATA  ,COD_EMPRESA  ,COD_CONTA   ,VALOR  ,DOC ,HISTORICO ,OBSERVACOES ,COD_NATUREZA)
VALUES ((select max(codigo)+1 from mov_bancaria),:data,:empresa_saida,:conta_saida,:valor ,:doc,:historico,:observacoes,natureza_saida);


nesta execução apresenta o seguinte erro:

violation of FOREIGN KEY constraint "".
violation of FOREIGN KEY constraint "FK_MOV_BANCARIA_CONTA" on table "MOV_BANCARIA".
Foreign key reference target does not exist.
At procedure 'TRANSFERENCIA' line: 20, col: 1.



se eu informo diretamente os valores dos campos COD_CONTA E COD_NATUREZA ao invés de usar a variavel não da erro algum sendo que o valor é o mesmo se eu preencher a variável de INPUT. 

insert into  MOV_BANCARIA (CODIGO               ,DATA  ,COD_EMPRESA  ,COD_CONTA   ,VALOR  ,DOC ,HISTORICO ,OBSERVACOES ,COD_NATUREZA)
VALUES ((select max(codigo)+1 from mov_bancaria),:data,:empresa_saida,1           ,:valor ,:doc,:historico,:observacoes,1);



CREATE PROCEDURE TRANSFERENCIA (
    NATUREZA_SAIDA   INTEGER,
    DATA             DATE,
    EMPRESA_SAIDA    INTEGER,
    CONTA_SAIDA      INTEGER,
    VALOR            DECIMAL(15,2),
    DOC              VARCHAR(20),
    HISTORICO        VARCHAR(50),
    OBSERVACOES      VARCHAR(32000),
    NATUREZA_ENTRADA INTEGER,
    CONTA_ENTRADA    INTEGER)
AS
begin
natureza_saida   = 0;
natureza_entrada = 0;
valor            = 0;
conta_saida      = 0;
conta_entrada    = 0;

insert into  MOV_BANCARIA (CODIGO               ,DATA  ,COD_EMPRESA  ,COD_CONTA   ,VALOR  ,DOC ,HISTORICO ,OBSERVACOES ,COD_NATUREZA)
VALUES ((select max(codigo)+1 from mov_bancaria),:data,:empresa_saida,:conta_saida,:valor ,:doc,:historico,:observacoes,natureza_saida);

  suspend;
end






Mais detalhes sobre a lista de discussão lista