Stored procedure og date
Jeg har en onlineliste som gemmes i en tabel med login tidspunktet. Jeg sletter brugere der har været online mere end en bestemt tid fra listen igen med nedenstående asp:maxOnline = 1 'Angives i dage.
sDate = GetDateTimeNew(Now()-MaxOnline)
sSQL = "DELETE FROM online_liste WHERE LoginTime < '" & sDate & "'"
cn.execute(sSQL)
GetDateTimeNew funktionen ser ud som følger:
Function GetDateTimeNew(sDate)
if sDate = "" then sDate = Now()
DD = Day(sDate)
MM = Month(sDate)
AAAA = Year(sDate)
T1 = Hour(sDate)
T2 = Minute(sDate)
T3 = Second(sDate)
If Len(DD) = 1 Then DD = 0 & DD
If Len(MM) = 1 Then MM = 0 & MM
If Len(T1) = 1 Then T1 = 0 & T1
If Len(T2) = 1 Then T2 = 0 & T2
If Len(T3) = 1 Then T3 = 0 & T3
GetDateTimeNew = AAAA & MM & DD & T1 & T2 & T3
End Function
Dette virker så fint nok, men da jeg gerne vil automatisere det, så jeg slipper for at sidde og trykke på en knap flere gange om dagen, vil jeg gerne lave et scheduleret job der kører en stored procedure som dermed sletter fra onlinelisten. Men hvordan skal denne stored procedure se ud? Jeg vil dog gerne have at maxOnline er angivet i timer i stedet for i dage.
Håber der er nogen der kan hjælpe med dette. Hvis der er spørgsmål, så kom endelig med dem.
CREATE PROCEDURE nsp_ClearUsers
AS
DELETE FROM online_liste WHERE LoginTime < variabel
GO
