[firebase-br] Delete com INNER JOIN

André Conrado acf em andreconrado.net
Qui Maio 31 11:23:10 -03 2012


"vou botar lenha na fogueira.. kkk"

Eu uso SP para quase tudo. Assim evito que os usuários acessem as
tabela do sistema diretaemente. Eles não precisam nem lê nada. Nos
meus sistemas praticamente não há permissão para tabelas. Só via SP.
As dependências são um problema, mas esporádico.

Como disse, cada um "tem suas preferências e costumes"

Abçs,
Conrado.

Em 31 de maio de 2012 08:29, Tecnobyte Informática
<temp2 em tecnobyte.com.br> escreveu:
> Olá Fausto, bom dia
>
> Cada desenvolvedor tem suas preferências e costumes, mas se eu fosse você
> não criaria stored procedure para algo simples como este. Eu geralmente crio
> stored procedure somente quando sua criação resultar em ganho significativo,
> seja em performance ou praticidade. Mas no caso deste DELECT com EXISTS, uma
> stored procedure não faria muita diferença no resultado.
>
> O lado ruim de se criar muitas stored procedures (especialmente quando
> desnecessárias) é que cria-se muitas dependências entre os objetos no banco
> de dados e quando tiver que alterar alguma coisa na estrutura da tabela terá
> que sair removendo estas dependências todas para somente depois conseguir
> alterar o que de fato deseja. Quanto menos dependências, mais fácil será
> para alterar a estrutura de uma tabela.
>
>
> Atenciosamente.
>
> Daniel P. Guimarães
> Tecnobyte Informática
> www.tecnobyte.com.br
>
> -----Mensagem Original----- From: Fausto
> Sent: Thursday, May 31, 2012 6:22 AM
> To: lista em firebase.com.br
> Subject: Re: [firebase-br] Delete com INNER JOIN
>
>
> Beleza..
> Deu certo aqui, mas estou pensando em passar isso para uma SP
>
> Em 30/05/2012 09:31, Tecnobyte Informática escreveu:
>>
>> Veja se isto resolve sem problema:
>>
>> DELETE FROM PEDIDOS P
>> WHERE P.EMIPEDIDO <= :DATAFIM AND
>>  EXISTS(SELECT * FROM COMISSOES C
>>             WHERE C.NRPEDIDO = P.NRPEDIDO AND C.BAIXADA IS NOT NULL)
>>
>>
>> Atenciosamente.
>>
>> Daniel P. Guimarães
>> Tecnobyte Informática
>> www.tecnobyte.com.br
>>
>> -----Mensagem Original----- From: Fausto
>> Sent: Tuesday, May 29, 2012 7:22 PM
>> To: lista em firebase.com.br
>> Subject: [firebase-br] Delete com INNER JOIN
>>
>> Pessoal..
>> Preciso executar uma rotina de fechamento anual em uma tabela de
>> pedidos, esta rotina se dá da seguinte forma:
>> Devo excluir todos os pedidos cuja data de emissão forem menor ou igual
>> a que eu informar, mas que não tenha nenhuma comissão em aberto.
>> Estou tentando algo do tipo
>> *DELETE FROM PEDIDOS P
>> INNER JOIN COMISSOES C ON (C.NRPEDIDO = P.NRPEDIDO)
>> WHERE P.EMIPEDIDO <= :DATAFIM
>>  AND C.BAIXADA IS NOT NULL
>>
>> *Existe alguma forma de fazer isso ou teria que ser via SP?
>> Grato
>>
>
> --
> Fausto Alves
> Skype:faustoalves
> msn:faustoalves em com4.com.br
> Franca-SP
> Enviado pelo Mozilla Thunderbird
> http://br.mozdev.org/thunderbird
>
>
> ______________________________________________
> 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