Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lezão

Excluir registros de um BD automaticamente!

Recommended Posts

Ola Galera, preciso tirar uma duvida se é possivel isso ?

É possivel excluir registros de um BD automaticamente?

tenho um Campo chamado Vencimento e qnd chegasse nessa data de vencimento ele excluiria automatico o registro vencido....

 

É possivel isso ?????????????

 

:upset: :upset: :upset: :upset:

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode fazer isso direto na SQL usando a cláusula DELETE e no WHERE Vencimento dê um DateAdd 1, falo 1 dia a mais dependendo do segmento de seu negócio, pois no dia o cliente pode vir até as 23:59. É assim que faço e fique perfeito. Tipo:

 

datf = DateAdd ("d", 1, now())

' vc pode mudar o now para sua data
SQL="DELETE FROM tabela WHERE Vencimento > '"&datf&"'"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Xan, boa tarde!

fiz assim e naun rodou ?

<%' Conecta-se ao Banco de Dados
url_conexao = Server.MapPath("DBLojaVirtual.mdb")
set conexao = Server.CreateObject("ADODB.Connection")
conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao 

'cadastra os dados no banco de dados
datf = DateAdd ("d", 1, now())
'você pode mudar o now para sua data
SQL="DELETE FROM Publicidade WHERE Vencto > '"&datf&"'"
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas e a parte do AUTOMATICAMENTE? ainda assim só vai excluir mediante a ação de algum usuário...

 

... :upset:

 

Lezão para excluir tem várias maneiras mas o automaticamente veja com seu hospedeiro se tem algo como agendador de tarefas com ele você pode vincular um arquivo de sua página que rode todo dia tal horário... assim você faria uma página específica para isso e vinculasse lá assim ocorreria o automaticamente...

 

sucesso!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz isso da seguinte forma:

 

Coloquei a rotina na pagina menu, só que se a pessoa entrasse 10 vezes?

 

Então criei um banco com data e na entrada, viria se já tem a data de hoje é porque já fez, se não tem, rodava o script.

 

Funciona perfeito

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc pode fazer ele disparar seu código, toda vez que efetuar determinada ação, por exemplo: quando tiver algum INSERT no bd vc insere e depois faz ele pegar sua rotina de exclusão, ou quando tiver algum acesso de SELECT (busca, filtro etc) no bd também pode chamar sua rotina.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Naun tendi Xan...?

vou dar mas umas pesquisada na net e ver se eu encontro algo semelhante...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Naun tendi Xan...?

vou dar mas umas pesquisada na net e ver se eu encontro algo semelhante...

vc faz o INSERT e depois chama uma função que executa a rotina de exclusão, logo na sequencia dela, entendeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma Trigger acho que seria ideal..

Ai seria mais o caso de quando executar ela.

Para esperar a ação de alguém também concordo com uma trigger mas qual é o banco mesmo!?

Compartilhar este post


Link para o post
Compartilhar em outros sites

no post#3 podemos ver que esta com access, e access não suporta triggers. Seria bom migrar para SQL Server

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu vi que era access foi para o post #10 a resposta... vi que ele não acompanhou o tópico vez apenas uma leitura vertical... rsrs.... SQL Server é pago... pode ser um grátis PostGreSql ou MySQL são os mais comuns pelos hospedeiros uns hosts tem até o firebird show de bola mas vejo ele em sistemas desktops...

 

Lezao viu com seu hospedeiro sobre o agendador de tarefas?

 

ou seu sistema é em pc pessoal?

Compartilhar este post


Link para o post
Compartilhar em outros sites

a maioria dos planos até no basic possui SQL Server, só paga a mais se quiser mais capacidade ou um dedicado. E faça invocar a SQL de exclusão após dar o INSERT já resolve.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o jeito mais simples seria, após você fazer INSERT, já embaixo dele executar o DELETE

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que eu fiz em um caso mais ou menos parecido foi assim.

 

A cada 24 horas roda uma pagina automaticamente com javascript

 

Segue o código

<script type="application/javascript" language="javascript">
window.setTimeout(function(){
	//document.getElementById("ok").style.display='none'
	document.location.href = 'http://www.dominio.com.br/deletar/deletar.asp'
	//$("#banner").css("display","none");
}, 86400000);
//86400000 = 24horas
//43200000 = 12horas
</script>

Sendo assim de 24 em 24 horas ele roda a pagina deletar.asp.

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

So que com esse de 24 horas a pagina precisa ficar aberta.

 

Ainda acho que o melhor seria em uma pagina inicial e controlar por data do jeito que falei acima

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.