[firebase-br] Ajuda com Procedure

Cássio cassio.hc em gmail.com
Sáb Jul 4 11:25:37 -03 2009


Opa.
Quero fazer uma pr que exclua um registro de uma tabela caso não exista 
este registro não esteja em outra. fiz assim, mas sem sucesso.


SET TERM ^ ;

RECREATE PROCEDURE PR_EXCLUIR_LOC (
  ID_LOCACAO BIGINT)
AS
DECLARE VARIABLE EXISTE INTEGER;

BEGIN
   --verifico se há locação em lançamentos e adicionado o resutado no 
inteiro existe.
   SELECT LOC.ID_LOCACAO FROM LOCACOES LOC
   WHERE ID_LOCACAO IN (SELECT ID_ORIGEM
                        FROM   LANCAMENTOS
                        WHERE  ID_ORIGEM=LOC.ID_lOCACAO)
                               AND LOC.ID_LOCACAO =:ID_LOCACAO INTO :EXISTE;

    IF (:EXISTE = 0) THEN --caso não exista então apaga a locação...
      BEGIN
           DELETE FROM LOCACOES WHERE LOCACOES.ID_LOCACAO =:ID_LOCACAO;
     END
END^

SET TERM ; ^

chamo por fora assim:
execute procedure pr_excluir_loc(5);

retorna "The command(s) completed successfully."
mas o registro da locação continua la.


obrigado!





Mais detalhes sobre a lista de discussão lista