Jag har problem med en trigger. Hur jag än försöker så får jag inte fram maximala värdet från min tabell utan jag får värdet som jag skriver in i den nya recorden (vilket är naturligt eftersom mätarställningen ökar). Hur skall jag göra för att få maxvärdet oberoende av vad jag skriver in? Eftersom triggern körs efter det att värdet lagts till i tabellen så är det inte så konstigt, nej. Något sånt här kanske? vad betyder Som Patrik sa så är A och B alias för tabellnamnen, och INSERTED är en specialtabell som endast finns tillgänglig när en trigger körs. Den innehåller de rader som har lagts till en tabell med en INSERT sats, eller de rader som uppdaterats med en UPDATE sats (efter att de uppdaterats).Trigger problem
SELECT @MaxMätarställning= MAX(A.Mätarställning) FROM dbo.Bränslekostnader A, INSERTED B WHERE A.BilID=B.BilID
//UJSv: Trigger problem
SELECT @MaxMätarställning= MAX(A.Mätarställning) FROM dbo.Bränslekostnader A, INSERTED B WHERE A.BilID=B.BilID
WHERE A.Mätarställning <> B.MätarställningSv: Trigger problem
A, INSERTED B
i
SELECT @MaxMätarställning= MAX(A.Mätarställning) FROM dbo.Bränslekostnader A, INSERTED B WHERE A.BilID=B.BilID
WHERE A.Mätarställning <> B.MätarställningSv: Trigger problem
Observera att det var ett fel i min SQL sats ovan, rätt ska vara:
SELECT @MaxMätarställning = MAX(A.Mätarställning)
FROM dbo.Bränslekostnader A, INSERTED B
WHERE A.BilID=B.BilID
AND A.Mätarställning <> B.Mätarställning
Tidigare stod det WHERE istället för AND på sista raden...