webForumDet fria alternativet

problem med lagrad procedure

Databaser & SQL

2 svar · 416 visningar · startad av jonsson86

Medlem sedan apr. 200716 inlägg
Frågan#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
Medlem sedan dec. 20025 483 inlägg
#2
ALTER PROC sp_Basket
AS
BEGIN
DELETE FROM dbo.Basket WHERE DATEDIFF(hour, CreatedDate, getdate()) > 24 
END
GO
Medlem sedan apr. 200716 inlägg
#3

sp

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

257 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)