Ú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
- Projektor topic
- A legjobb INGYENES programok Windowsra!
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Apple asztali gépek
- Linux Mint
- Sütés, főzés és konyhai praktikák
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Víz- gáz- és fűtésszerelés
- Autós topik
- Melyik tápegységet vegyem?
- További aktív témák...
- Eladó 1db Nokia steel hr hibrid okos óra dobozával
- BESZÁMÍTÁS! ASRock Z370 i7 8700 16GB DDR4 512GB SSD RX 6600XT 8GB Rampage SHIVA Thermaltake 550W
- ÁRGARANCIA! Épített KomPhone Ultra 9 285K 32/64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- Xiaomi Redmi Note 14 Pro / 8/256GB / Káértyafüggetlen / 12Hó Garancia
- HIBÁTLAN iPhone 15 Pro 256GB White Titanium-1 ÉV GARANCIA - Kártyafüggetlen, MS4448
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs


