Új hozzászólás Aktív témák
-
-
nyunyu
félisten
válasz
RedHarlow
#4712
üzenetére
Ezt a Teradata féle joinnal bővített UPDATE szintaxist semelyik másik DB kezelő nem ismeri, nem tudsz így másik tábla alapján updatelni.
Oracle elég körülményesen tud hasonlót, SET+WHERE mögé írt alselecttel, de annak a pontos szintaxisára nem emlékszem, de arra igen, hogy amihez nem talál értéket, ott szimplán NULLlal felülírja a többi sort.

Valami ilyesmi lehetett:
UPDATE t1
SET t1.column=(SELECT column FROM t2 WHERE t2.id=t1.id)
WHERE t1.id IN (SELECT id FROM t2);(Teradata csak a joinnal megtalált sorokat updateli, többit békén hagyja!)
Legtisztább megoldás erre a szabványos MERGE utasítás:
MERGE t1
USING (SELECT id,
column
FROM t2) t2
ON (t2.id = t1.id)
WHEN MATCHED
THEN UPDATE SET t1.column = t2.column;Hmm, még alselect se kell az USING mögé, direktben is mehet a t2, ha a joinon kívül nem kell semmi bonyolultat csinálni vele:
MERGE t1
USING t2
ON (t2.id = t1.id)
WHEN MATCHED
THEN UPDATE SET t1.column = t2.column;
Új hozzászólás Aktív témák
- AKCIÓ 03.30-ig!!! RYZEN 7 5800X +hűtött VRM-es A520M/B550M lap +16GB hűtőbordás DDR4 kit! GAR/SZÁMLA
- Apple MacBook Pro 14 M1 Pro, 16GB / 512GB, 95% akku, szép állapot, Space Grey szín!
- Samsung SCX-3405W lézernyomtató / scanner / fénymásoló WIFIS!
- ASUS A7PRO RETRO SOCKET 462 ALAPLAP, AMD ATHLON 800 MHZ CPU
- Apple Watch Series 9 (45mm) GPS - Fekete - Bontatlan gyári szíjjal!
- 27% - Samsung ViewFinity S70D Monitor 3840x2160 / 5ms / 60hz
- Eladó Samsung Galaxy A51 4/128GB / 12 hónap jótállás
- Telefon szerviz helyben - Gyors javítás, akár 30 perc alatt!
- Honor Magic7 Lite / 8/256GB / Kártyafüggetlen / 12Hó Garancia
- Azonnali készpénzes Sony Playstation 4 Slim / PS4 Pro felvásárlás személyesen/csomagküldéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

