Hirdetés

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

  • martonx
    veterán

    Alap SQL kérdés: Van két táblám: table_A és table_B, ugyanazokat az oszlopokat tartalmazza mindkét tábla. A table_B -ben naprakész az összes sor. Kérdés: mi a legegyszerübb módja frissíteni table_A-t, table_B alapján.
    Sima UPDATE query, JOIN vagy MERGE használata?
    - például a második sort valaki törölte table_B-ben, az törlődjön a table_A-ben is
    - például érték változás történt a harmadik sor table_B-ben, ugyanaz az érték változzon table_A-ben is
    - például egy új sort adtunk table_B-hez, ezt a sort adja hozzá table_A -hez is.
    Lehetséges mindez egy Query-ben leírva?
    Előre is köszönöm a hozzáértők segítségét :R

    Catfathern válasza teljesen jó.
    Viszont teljesítményben nem éppen optimális. A MERGE adja a legjobb teljesítményt, viszont azt nem két sor használni, bár nem is olyan vészes.
    Hozzáteszem, ha viszont mindig csak új adatot kell hozzáadni, akkor ez nyilván jobb teljesítményt fog hozni, mint egy merge:

    INSERT tbl_A (col, col2)
    SELECT col, col2
    FROM tbl_B
    WHERE NOT EXISTS (SELECT col FROM tbl_A A2 WHERE A2.col = tbl_B.col);

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