Fórum Unexpected end of command #476424
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
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)