Unexpected end of command
15/04/2014
0
Pessoal, tenho uma SP, quando compilo ela no IBExpert não dá erro nenhum mas quando vou chamá-la no delphi com Execute Procedure SP_Animal_Salvar (...................) da o erro unexpected end of command.
Alguém pode me dizer o que está faltando?
Segue SP
Obrigado desde já pela ajuda
Alguém pode me dizer o que está faltando?
Segue SP
Obrigado desde já pela ajuda
SET TERM ^ ; CREATE OR ALTER PROCEDURE SP_ANIMAL_SALVAR ( wp_idanimal integer, wp_idcatanimal integer, wp_idpropriedade integer, wp_idprocedencia integer, wp_idmatriz integer, wp_idraca integer, wp_brinco varchar(20), wp_idsituacao integer, wp_sexo varchar(1), wp_idpelagem integer, wp_dtentrada date, wp_idtipoentrada integer, wp_dtnascimento date, wp_dtpesagemini date, wp_pesoinicial float, wp_precokilo float, wp_precototal float, wp_idtiposaida integer, wp_pesovenda float, wp_precovenda float, wp_dtsaida date, wp_iddestino integer, wp_idcausamortis integer, wp_idanimaltransf integer, wp_idpropriedadetransf integer, wp_ehmatriz integer) as declare variable novoid integer; declare variable dtentrada date; declare variable dtnascimento date; declare variable dtpesagemini date; declare variable dtsaida date; begin IF (:wp_dtentrada < cast('01/01/1900' as date)) then BEGIN dtentrada = NULL; END else begin dtentrada = :wp_dtentrada; end IF (:wp_dtNascimento < cast('01/01/1900' as date)) then BEGIN dtNascimento = NULL; END else begin dtNascimento = :wp_dtNascimento; end IF (:wp_dtPesagemIni < cast('01/01/1900' as date)) then BEGIN dtPesagemIni = NULL; END else begin dtPesagemIni = :wp_dtPesagemIni; end IF (:wp_dtSaida < cast('01/01/1900' as date)) then BEGIN dtSaida = NULL; END else begin dtSaida = :wp_dtSaida; end IF ((:wp_idAnimal = 0) OR (:wp_idAnimal is NULL)) then BEGIN select first 1 idAnimal from tb_animal order by idAnimal desc into :novoId; novoId = novoId + 1; if ((novoId is null) or (novoId <= 0)) then begin novoId = 1; end Insert into tb_animal ( IDANIMAL, IDCATANIMAL, IDPROPRIEDADE, IDPROCEDENCIA, IDMATRIZ, IDRACA, BRINCO, IDSITUACAO, SEXO, IDPELAGEM, DTENTRADA, IDTIPOENTRADA, DTNASCIMENTO, DTPESAGEMINI, PESOINICIAL, PRECOKILO, PRECOTOTAL, IDTIPOSAIDA, PESOVENDA, PRECOVENDA, DTSAIDA, IDDESTINO, IDCAUSAMORTIS, IDANIMALTRANSF, IDPROPRIEDADETRANSF, EXCLUIDO ) values ( :wp_idAnimal, :wp_idCatAnimal, :wp_idPropriedade, :wp_idProcedencia, :wp_idMatriz, :wp_idRaca, :wp_brinco, :wp_idSituacao, :wp_sexo, :wp_idPelagem, :dtEntrada, :wp_idTipoEntrada, :dtNascimento, :dtPesagemIni, :wp_pesoInicial, :wp_precoKilo, :wp_precoTotal, :wp_idTipoSaida, :wp_pesoVenda, :wp_precoVenda, :dtSaida, :wp_idDestino, :wp_idCausaMortis, :wp_idAnimalTransf, :wp_idPropriedadeTransf, 0 ); IF (:wp_ehmatriz = 1) THEN BEGIN execute procedure SP_Matriz_Salvar (0, :wp_idPropriedade, :wp_idCatAnimal, :novoId, 'V', ''); END END ELSE BEGIN UPDATE tb_animal SET IDCATANIMAL = :wp_idCatAnimal, IDPROPRIEDADE = :wp_idPropriedade, IDPROCEDENCIA = :wp_idProcedencia, IDMATRIZ = :wp_idMatriz, IDRACA = :wp_idRaca, BRINCO = :wp_brinco, IDSITUACAO = :wp_idSituacao, SEXO = :wp_sexo, IDPELAGEM = :wp_idPelagem, DTENTRADA = :dtEntrada, IDTIPOENTRADA = :wp_idTipoEntrada, DTNASCIMENTO = :dtNascimento, DTPESAGEMINI = :dtPesagemIni, PESOINICIAL = :wp_pesoInicial, PRECOKILO = :wp_precoKilo, PRECOTOTAL = :wp_precoTotal, IDTIPOSAIDA = :wp_idTipoSaida, PESOVENDA = :wp_pesoVenda, PRECOVENDA = :wp_precoVenda, DTSAIDA = :dtSaida, IDDESTINO = :wp_idDestino, IDCAUSAMORTIS = :wp_idCausaMortis, IDANIMALTRANSF = :wp_idAnimalTransf, IDPROPRIEDADETRANSF = :wp_idPropriedadeTransf, EXCLUIDO = 0 WHERE (IDANIMAL = :wp_idAnimal); END end^ SET TERM ; ^ GRANT SELECT,INSERT,UPDATE ON TB_ANIMAL TO PROCEDURE SP_ANIMAL_SALVAR; GRANT EXECUTE ON PROCEDURE SP_MATRIZ_SALVAR TO PROCEDURE SP_ANIMAL_SALVAR; GRANT EXECUTE ON PROCEDURE SP_ANIMAL_SALVAR TO SYSDBA;
Jason Mello
Curtir tópico
+ 0
Responder
Posts
05/05/2014
Emerson Nascimento
possivelmente o erro está na chamada da procedure.
publique também a linha exata utilizada na chamada da sp.
publique também a linha exata utilizada na chamada da sp.
Responder
Clique aqui para fazer login e interagir na Comunidade :)