webForumDet fria alternativet

problem med lagrad procedure

2 svar · 416 visningar · startad av jonsson86

jonsson86Medlem sedan apr. 20078 inlägg
#1

Hejsan!

Jag har suttit med ett problem som jag dock ej har funnit en lösning på än. Jag har skapat en lagrad procedur som ska ta bort produkter som har lagrats i databasen (SS 2005) mer än 24 timmar. Dock får jag bara upp ett felmeddelande som lyder

"Msg 147, Level 15, State 1, Procedure sp_Basket, Line 4
An aggregate may not appear in the WHERE clause unless it is in a subquery contained in a HAVING clause or a select list, and the column being aggregated is an outer reference.
"

ALTER PROC sp_Basket
AS
BEGIN
DELETE FROM dbo.Basket WHERE CreatedDate  In 
(SELECT RowId FROM dbo.Basket WHERE DATEDIFF(hour, min(CreatedDate), getdate()) > 24) 
END
GO
Peter SMedlem sedan dec. 20025 484 inlägg
#2
ALTER PROC sp_Basket
AS
BEGIN
DELETE FROM dbo.Basket WHERE DATEDIFF(hour, CreatedDate, getdate()) > 24 
END
GO
jonsson86Medlem sedan apr. 20078 inlägg
#3

sp

Tackar! Hade gjort det svårt för mig själv.

131 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
128 ms — hämta tråd, inlägg och bilagor (db)