-- Oracle Peldatar 9.fejezet kurzor FOR UPDATE zaradekra -- 9.1.pelda (165.-168.oldal rossz/jo megoldasbol a jo) -- -- Feladat: -- Novelje meg a hivatalnokok (CLERK) fizeteset -- a sajat fizetesuk 20%-aval. -- -- A gyakorlaton az osztaly-dolgozo tablakban dolgozunk: -- https://sila.hajas.elte.hu/ABGY/create_dolgozo.txt -- de az Oracle Peldatar feladatai a dept-emp tablakban: -- https://sila.hajas.elte.hu/ABGY/cr_dept_emp.txt SELECT * FROM sila.emp; DROP TABLE emp_temp; CREATE TABLE emp_temp AS SELECT * FROM sila.emp; SELECT * FROM emp_temp WHERE job = 'CLERK'; SET serveroutput ON DECLARE CURSOR egydolgozo IS SELECT empno, ename, sal FROM emp_temp WHERE UPPER(job) = 'CLERK' FOR UPDATE NOWAIT; azonosito emp_temp.empno%TYPE; nev emp_temp.ename%TYPE; fizetes emp_temp.sal%TYPE; BEGIN OPEN egydolgozo; LOOP FETCH egydolgozo INTO azonosito, nev, fizetes; EXIT WHEN egydolgozo%NOTFOUND; fizetes := fizetes *1.2; UPDATE emp_temp SET sal = fizetes WHERE CURRENT OF egydolgozo; DBMS_OUTPUT.PUT_LINE( nev||' '||fizetes); END LOOP; CLOSE egydolgozo; END; / SELECT * FROM emp_temp WHERE job = 'CLERK';