Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- Real Racing 3 - Freemium csoda
- Magga: PLEX: multimédia az egész lakásban
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
- Luck Dragon: MárkaLánc
- sziku69: Szólánc.
- bobalazs: i5 4690 + RX 460 HTPC
Új hozzászólás Aktív témák
-
nyunyu
félisten
válasz
Apollo17hu
#5214
üzenetére
Az a baj, hogy az előző lépésben számolt értékre van szükséged a következő kiszámolásához, és nem szimplán szummázod a korábbi értékeket.
Így vagy rekurzívan számolod ki, vagy ciklust írsz rá.
Ezekre nem nagyon van szabvány szintaxis, kb. minden DBnek más megoldása van rá.
Oracle alatt valahogy így nézne ki a ciklusos megoldás:
DECLARE
v_id varchar2(10);
v_ertek number;
v_korr_ertek number := 0;
CURSOR c is
SELECT id, ertek
FROM proba
ORDER BY id;
BEGIN
OPEN c;
LOOP
FETCH c INTO v_id, v_ertek;
EXIT WHEN c%notfound;
v_korr_ertek := CASE WHEN v_korr_ertek + v_ertek > 0
THEN 0
ELSE v_korr_ertek + v_ertek
END;
dbms_output.put_line(v_id || ',' || v_ertek || ',' || v_korr_ertek);
/*
UPDATE proba
SET korr_ertek = v_korr_ertek
WHERE id = v_id;
*/
END LOOP;
CLOSE c;
END;Deklarálsz egy kurzort, amiben azonosító szerint növekvő sorrendben jönnek a rekordok, aztán azon egyesével végig mész, kiszámolva az aktuális korrigált értéket.
Új hozzászólás Aktív témák
- Fejhallgató erősítő és DAC topik
- Óra topik
- Automobilista 2
- Path of Exile (ARPG)
- A fociról könnyedén, egy baráti társaságban
- Autós topik
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- exHWSW - Értünk mindenhez IS
- BestBuy topik
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- További aktív témák...
- Honor Pad X8a 64GB,Újszerű,Dobozaval,12 hónap garanciával
- ThinkPad T14s Gen5 14" FHD+ IPS érintő Ultra 7 155U 16GB 512GB NVMe ujjlolv gar
- Eladó Lenovo Yoga Tab 11 (4GB/128GB, 2K kijelző) JBL hangszórókkal, dobozában!
- P16v Gen2 16" FHD+ IPS Ultra 7 165H RTX 2000 Ada 32GB 512GB NVMe ujjlolv IR kam gar
- Samsung Galaxy S25 Ultra 256GB,Újszerű,Dobozaval,12 hónap garanciával
- BESZÁMÍTÁS! Gigabyte GA-Z87X-UD4H Z87 chipset alaplap garanciával hibátlan működéssel
- Eladó Pixel 7 obszidián 128/8
- HP EliteBook 840 G9 i7-1265U 16GB 512GB 14" FHD+ 1 év teljeskörű garancia
- iPhone 12 64GB 100% (1év Garancia) Több színben is elérhető! - ÚJ EREDETI AKKUMULÁTOR - AKCIÓ
- AKCIÓS ! MacBook Pro 16" M1 Pro 16GB RAM 512GB SSD! 1 év garancia!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
