[firebase-br] RES: Ajuda com Procedure
Cássio
cassio.hc em gmail.com
Dom Jul 5 20:41:22 -03 2009
não estou usnado FK porque tenho mais tabelas do tipo locações que
relacionam com ID_Origem, ou seja, tenho vários tipos de origens.
vlw.
Magno System escreveu:
> Não está dando certo porque quando não existe retorna NULL e não zero.
>
> Tente assim:
>
> SELECT COALESCE(LOC.ID_LOCACAO, 0) 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;
>
>
> ----- Original Message ----- From: "Ivan Guimarães Meirelles"
> <igmeirelles em gmail.com>
> To: "'FireBase'" <lista em firebase.com.br>
> Sent: Saturday, July 04, 2009 6:56 PM
> Subject: [firebase-br] RES: Ajuda com Procedure
>
>
> Olá Cássio...
> Não seria interessante usar FOREIGN KEY para controlar isso ??
>
> Um abraço...
>
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br
> [mailto:lista-bounces em firebase.com.br] Em
> nome de Cássio
> Enviada em: sábado, 4 de julho de 2009 10:26
> Para: lista em firebase.com.br
> Assunto: [firebase-br] Ajuda com Procedure
>
> 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!
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista