webForumDet fria alternativet

Stored procedure

5 svar · 508 visningar · startad av thalle

thalleMedlem sedan dec. 20073 inlägg
#1

Skulle vilja ta bort information i databasen som är äldre än två veckor.
Gissar att stored procedure är vägen att gå...?
Går gör det ju säkert, men skulle behöva en lite fingervisning hur.
Har tidsstämpel på varje rad i form av 'date och 'time'.

Tack på förhand.
/T

CatZMedlem sedan jan. 20022 341 inlägg
#2

det borde gå göra nåt i stil med

delete from tblTest where date < datediff(month, (DATEADD(month, -1, getdate())), getdate())

helt otestat.

CatZMedlem sedan jan. 20022 341 inlägg
#3

Ursäkta mig vet inte vad jag skrev hehe, lösningen blir

delete from tblTest where date < (dateAdd(day,-30,getdate()))

Du kan göra det som en SP om du vill...

create procedure spGetRidOfOldStuff
as
begin
	delete from tblTest where date < (dateAdd(day,-30,getdate()))
end
go

om du kör MS SQL.

thalleMedlem sedan dec. 20073 inlägg
#4

Okej, tack för snabbt svar...ska testa. Kör MySQL för detta.

Läst lite till kring detta, fick för mig att detta var något som snurra hela tiden. Men verkar som man måste gör ett CALL på proceduren för att det ska köras?

Var ju mer ute efter något som sköts automatiskt...

CatZMedlem sedan jan. 20022 341 inlägg
#5

Du kan på din php? sida anropa den funktionen varje dag när första användaren besöker sidan. Jag kan inte MySQL men tror inte du har möjligheten att köra det automatiskt om du inte äger servern själv.

I MS SQL kan man får det automatiskt med schemaläggaren men då måste du ha administratörs rättigheter både till databasservern och servern som databasen ligger på.

thalleMedlem sedan dec. 20073 inlägg
#6

Visst kan jag göra det via php, men det förutsätter ju att man går in på sidan. Sidan är bara för eget bruk och tanken var att slippa gå in på sidan varje dag.
Hade varit fint om det skulle kunna köras helt självt.

Frågan i sig fungerar : SELECT * FROM table WHERE (table.date < curdate()-30);

Så frågan får nästan formuleras om, kan man schemalägga mysql frågor i mysqlservern?

/T

Genererad på 371 ms · cache AV · v20260730165559-full.f96bc7eb