[firebase-br] Fw: Trigger com verificação?
MagnoS
magnoscosta em bol.com.br
Sex Maio 23 08:58:03 -03 2008
Opa.. que bom.. precisando nós estamos ai..
Abraços.
Magno.
Delphi/Oracle/Firebird
Datapar S.A
----- Original Message -----
From: "Zottis" <zottissistemas em brturbo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, May 23, 2008 7:49 PM
Subject: Re: [firebase-br]Fw: Trigger com verificação?
Deu certo Magno, muitíssimo obrigado,
Zottis(TeamFB Users)
Zottis Sistemas - 2008 Ano XI
Programação Delphi/PHP/Firebird/MySQL
"Um homem só tem o direito de olhar
a um outro de cima para baixo, quando
vai ajuda-lo a levantar-se".
Gabriel Garcia Marquez
----- Original Message -----
From: "MagnoS" <magnoscosta em bol.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, May 23, 2008 7:21 AM
Subject: Re: [firebase-br]Fw: Trigger com verificação?
bom.. entao vamos analisar seu problema..
O usuário clica la em excluir, ai o produto X é marcado : Deletado = 'S',
DATAEXCLUCAO = '22/05/2008'
E em config Dias_Limbo, vc tem 90, por exemplo.
blz.. entao deve-se correr uma trigguer verificando todos os dias quais sao
os produtos que serão excluídos do banco, onde, estejam dentro do parâmetro:
DATAEXCLUSÃO + DIAS_LIMBO...
se nao tiver sido utilizado em lugar nenhum... ai exclui-se
automáticamente...
Pregunto... os produtos que serão excluídos, vc necessita saber quais os
códigos deles?? tipo.. o produto 10 e 11 estão dentro da regra, pode
excluir, ou vc tem que listar em algum lugar esses dois codigos para
alguém??
Se nao precisa listar vamos a solução:
DELETE PRODUTOS
WHERE PRODUTOS.DATA_EXCLUSAO <= (CURRENT_DATE - COALESCE(( SELECT
(DIAS_LIMBO)
FROM
CONFIG),90))
AND PRODUTOS.IDPRODUTO NOT IN ( SELECT D_VENDA.CODPRO
FROM D_VENDA )
;..
Para testar antes:
SELECT PRODUTOS.IDPRODUTO, DATA_EXCLUSAO,
CURRENT_DATE - COALESCE(( SELECT (DIAS_LIMBO)
FROM
CONFIG),90) EXCLUIR_ANT_A
FROM PRODUTOS
WHERE PRODUTOS.DATA_EXCLUSAO <= (CURRENT_DATE - COALESCE(( SELECT
(DIAS_LIMBO)
FROM
CONFIG),90))
AND PRODUTOS.IDPRODUTO NOT IN ( SELECT D_VENDA.CODPRO
FROM D_VENDA )
ai ele vai retornar os cod dos produtos a data marcada para exclusão e a
data limite que tem q excluir, de todos os produtos que nao foram utilizados
em vendas.
blz..
Se nao for isso, vamos continuar debatendo até chegarmos a uma conclusão.
----- Original Message -----
From: "Zottis" <zottissistemas em brturbo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, May 23, 2008 3:09 PM
Subject: Re: [firebase-br]Fw: Trigger com verificação?
tenho tabelas que em vez de deletar direto são marcadas para a exclusão
posterior
com um campo Deletado = 'S', se estiver marcado com 'S' é colocado a data da
"EXCLUSÃO"
Data_Exclusao = data
e tenho em outra tabela(Opcoes) um campo chamado de Dias_limbo que o Cliente
configura quantos dias ele quer que os arquivos marcados para a exclusão
fique ainda no banco de dados.
por padrão é 90 dias.
(fiz este sistema pois ja tive clientes que deletaram certas informações e
depois precisavam de volta dias após terem deletado).
desenvolvi gatilhos para as tabelas para a exclusão automática quando a data
de exclusão atingir o valor do Dias_limbo da tabela Opcoes.
mas aí acontece o Problema, Por exemplo, a tabela produtos pode ter
registros deletados que já foram usados em Itens de Pedido ou orçamentos,
então preciso descobrir qual é o registro que esta marcado para a Exclusão,
com a data vencida e que NÃO tenha sido usado em Nenhuma outra tabela com
Chave estrangeira da Tabela Produtos.
por isso o comando List resolveria o problema, pois já traria montado o
comando IN.
e mais uma vez obrigado pela ajuda.
Zottis(TeamFB Users)
Zottis Sistemas - 2008 Ano XI
Programação Delphi/PHP/Firebird/MySQL
"Um homem só tem o direito de olhar
a um outro de cima para baixo, quando
vai ajuda-lo a levantar-se".
Gabriel Garcia Marquez
----- Original Message -----
From: "MagnoS" <magnoscosta em bol.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, May 23, 2008 4:52 AM
Subject: Re: [firebase-br]Fw: Trigger com verificação?
Opa.. por nada.. mas vamos continua até encontrar a solução???
eu nao entendi direito o que vc precisa...
----- Original Message -----
From: "Zottis" <zottissistemas em brturbo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, May 23, 2008 1:14 PM
Subject: Re: [firebase-br]Fw: Trigger com verificação?
O Problema é que o count vai me retornar apenas o Numero de registros
encontrados, e eu preciso que retorne o ID dos registros, mas obrigado pelo
esforço.
Zottis(TeamFB Users)
Zottis Sistemas - 2008 Ano XI
Programação Delphi/PHP/Firebird/MySQL
"Um homem só tem o direito de olhar
a um outro de cima para baixo, quando
vai ajuda-lo a levantar-se".
Gabriel Garcia Marquez
----- Original Message -----
From: "MagnoS" <magnoscosta em bol.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Thursday, May 22, 2008 4:40 AM
Subject: Re: [firebase-br]Fw: Trigger com verificação?
Só complementando.. eu estive testando essa situação.. e acabei lembrando de
outra identica no oracle...
pois.. ele tambem nao aceita um select onde tenha uma clausula in (
:parametro ), sentro este parametro varchar (string), tal como nosso caso
pois o list retorna uma string...
----- Original Message -----
From: "MagnoS" <magnoscosta em bol.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Thursday, May 22, 2008 9:18 AM
Subject: Re: [firebase-br]Fw: Trigger com verificação?
Não sei se vc conseguiu.. mas nesse caso vc poderia utilizar sem o list...
select count(PRODUTONO) from itens where produtono IN
(SELECT produtos.produtono
FROM produtos
WHERE produtos.deletado = 'S'
AND produtos.data_exclusao < (current_date - Coalesce(( select
(dias_limbo) from opcoes),90)));
que tambem da certo.
vlw.
> ----- Original Message -----
> From: "Zottis" <zottissistemas em brturbo.com.br>
> To: <lista em firebase.com.br>
> Sent: Wednesday, May 14, 2008 4:01 PM
> Subject: [firebase-br] Fw: Trigger com verificação?
>
>
> Pessoal, estou tentando mudar o jeito de Excluir certos registros que
> estão
> marcados para a exclusão
>
> campo deletado
> campo data_Exclusão
>
> mas não estou conseguindo
>
> SELECT LIST(produtos.produtono, ',')
> FROM produtos WHERE produtos.deletado = 'S' AND produtos.data_exclusao <
> (current_date - Coalesce(( select (dias_limbo) from opcoes),90));
>
> o retorno é = 10,12,13,14,16,17,18
>
> e aqui retorna 15
> select count(PRODUTONO) from itens where produtono
> IN(10,12,13,14,16,17,18);
>
> mas se faço assim
> select count(PRODUTONO) from itens where produtono IN(SELECT
> LIST(produtos.produtono, ',')
> FROM produtos WHERE produtos.deletado = 'S' AND produtos.data_exclusao <
> (current_date - Coalesce(( select (dias_limbo) from opcoes),90)));
>
> ele retorna 0 (ZERO)
>
> tem como fazer isso direto?
>
> valeu.
> Uso FB 2.1
>
>
> Zottis(TeamFB Users)
>
> Zottis Sistemas - 2008 Ano XI
> Programação Delphi/PHP/Firebird/MySQL
>
> "Um homem só tem o direito de olhar
> a um outro de cima para baixo, quando
> vai ajuda-lo a levantar-se".
> Gabriel Garcia Marquez
>
>
> ______________________________________________
> 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
>
>
> --
> No virus found in this incoming message.
> Checked by AVG.
> Version: 7.5.524 / Virus Database: 269.23.16/1432 - Release Date:
> 14/05/2008 7:49
>
______________________________________________
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
--
No virus found in this incoming message.
Checked by AVG.
Version: 7.5.524 / Virus Database: 269.23.21/1458 - Release Date: 21/05/2008
7:21
______________________________________________
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
--
No virus found in this incoming message.
Checked by AVG.
Version: 7.5.524 / Virus Database: 269.23.21/1458 - Release Date: 21/05/2008
7:21
______________________________________________
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
--
No virus found in this incoming message.
Checked by AVG.
Version: 7.5.524 / Virus Database: 269.23.21/1458 - Release Date: 21/05/2008
7:21
______________________________________________
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
--
No virus found in this incoming message.
Checked by AVG.
Version: 7.5.524 / Virus Database: 269.23.21/1458 - Release Date: 21/05/2008
7:21
Mais detalhes sobre a lista de discussão lista