Hirdetés

Keresés

Új hozzászólás Aktív témák

  • nyunyu

    félisten

    válasz mr.nagy #4732 üzenetére

    Meg lehet csinálni SQLben is, csak kell hozzá egy tárolt eljárás, amiben :
    - csinálsz egy kurzort a negatív raktárkészletekből csökkenő sorrendben (hova = id, mennyi = -val)
    - CTASsal lemásolod az eredeti raktár táblát egy újba (hogy ne az eredetit updatelgesd)
    - végigiterálsz a kurzoron
    -- kiveszed az aktuális maximum értéket, és az id-ját a raktár_másolatból, és ha az nagyobb, mint a az aktuálisan kezelendő hiány, akkor
    --- update raktár_másolat set val=val-mennyi where id=honnan;
    --- update raktár_másolat set val=val+mennyi where id=hova;
    --- insert into mozgások values (honnan, hova, mennyi);

    Végén megvan a raktár_másolatban a művelet utáni új raktárkészlet, mozgásokban meg a teendők listája.

    Ettől még fenntartom azt, hogy Javaban egyszerűbb lenne lekódolni+gyorsabban is futna.
    De pár bolt esetén nem biztos, hogy olyan nagy lenne SQLben sem a futási idő.

Új hozzászólás Aktív témák