Hirdetés

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

  • nyunyu

    félisten

    válasz Magnat #5515 üzenetére

    Hja, ha SQL Servert használsz akkor próbálkozhatsz az archaikus Teradata upsert szintaxissal is, hátha megeszi:
    (Elvileg 2008R2-vel próbálták átcsábítani a Teradata DWH júzereit, aztán a legacy kód migráció megkönnyítésére implementálták a Teradata szintaxisát is.)

    update cc
    set cc.cust_partnerkod = cc.cust_partnerkod + x.rn
    from cikktorzs_customer cc,
    (select id, row_number() over (order by id) rn
    from cikktorzs_customer
    where cust_partnerkod = 200000) x
    where cc.id = x.id;

    (Hmm, MS csak a SET és a WHERE között engedi a FROM utáni tábla felsorolást? Teradatában a SET elé is lehetett írni, sőt legtöbbször úgy írták.)

    De a feljebb írt mergenek biztosan működnie kéne, az a több táblát összefésülő műveletek szabványos írásmódja.
    FROM clause nagyon nem szabványos az update szintaxisokban, nem sok DB ismeri, kezeli.
    (Oracle alatt meg se próbáld!)

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