CREATE TABLE TRAKTOR (azonosito NUMBER(6), nev VARCHAR2(20), szin VARCHAR2(20), loero NUMBER(6)); --elso feladat DECLARE CURSOR kurzor IS SELECT * FROM TRAKTOR WHERE szin='rikító kék' ORDER BY azonosito FOR UPDATE; sor TRAKTOR%ROWTYPE; BEGIN OPEN kurzor; LOOP FETCH kurzor INTO sor; EXIT WHEN kurzor%NOTFOUND; IF sor.loero<20 THEN UPDATE TRAKTOR SET szin='rózsaszín' WHERE CURRENT OF kurzor; ELSE UPDATE TRAKTOR SET szin='céklavörös' WHERE CURRENT OF kurzor; END IF; END LOOP; CLOSE kurzor; END; / --masodik feladat SET SERVEROUTPUT ON ACCEPT X DECLARE TYPE tablatipus IS TABLE OF TRAKTOR.nev%TYPE INDEX BY BINARY_INTEGER; tabla tablatipus; BEGIN SELECT nev INTO tabla(7) FROM TRAKTOR WHERE loero=&X; dbms_output.put_line(tabla.COUNT); EXCEPTION WHEN NO_DATA_FOUND THEN dbms_output.put_line('nincs elég data'); WHEN TOO_MANY_ROWS THEN dbms_output.put_line('túl sok a data'); END; / --harmadik feladat CREATE FUNCTION fuggveny(para VARCHAR2:='Rustbucket') RETURN NUMBER AS BEGIN DELETE FROM TRAKTOR WHERE nev LIKE '%'||para||'%'; RETURN SQL%ROWCOUNT; END; / --negyedik feladat DECLARE MEDDIG CONSTANT NUMBER:=8; szoveg VARCHAR2(100):=''; sajat EXCEPTION; BEGIN FOR i IN 1..MEDDIG LOOP IF LENGTH(szoveg||i||',')>100 THEN RAISE sajat; END IF; szoveg:=szoveg||i||','; END LOOP; EXCEPTION WHEN sajat THEN dbms_output.put_line('Túl hosszú!'); END; /