WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Stored procedure för att ändra orderstatus. (https://www.wn.se/forum/showthread.php?t=1043108)

allstars 2010-07-29 18:14

Stored procedure för att ändra orderstatus.
 
Jag har en service som skall göra olika saker beroende vad det är för produkt i en databastabell "OrderItems".
Kanske går det inte att ta för givet att hela ordern har hanterats så därför skulle jag behöva göra en Stored Procedure som räknar ingående OrderItems till en Order och om lika många ingående OrderItems är satta till IsHandled = 1 så skall Shippingstatus ändras.

Kod:

UPDATE Order Set ShippingStatus = 3
WHERE ShippingStatus = 1
AND ("där alla ingående artiklarna har IsHandled=1")

Kan någon visa mig i rätt riktning?!
Tack på förhand.

allstars 2010-07-30 08:55

Så här blev det till slut.
Kod:

UPDATE [Order] SET ShippingStatus = 3 WHERE ID IN (
        SELECT DISTINCT o.ID from [Order] o
        INNER JOIN [OrderItem] oi ON o.ID = oi.OrderID
        WHERE o.ShippingStatus = 1
        GROUP BY o.ID
        HAVING MIN(CAST(oi.IsHandled as int)) = 1
        )

Och det fungerar jättebra! :)


Alla tider är GMT +2. Klockan är nu 15:47.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson