-- Listázzuk ki a tárgyak ajánlott irodalmait.
SELECT extract(object_value,'//ajánlottirodalom') from targyakxml;
-- Listázzuk ki a tantárgyfelelősőket.
SELECT extract(object_value,'//tantárgyfelelősneve/text()') AS NÉV from targyakxml;
-- Adjuk meg hány kredit tartozik egy tantárgyfelelőshöz összesen.
SELECT
    extract(object_value,'//tantárgyfelelősneve/text()').getStringVal() AS tantárgyfelelős,
    sum(extract(object_value,'//tantárgy/kreditérték/text()').getNumberVal()) AS kredit
  FROM targyakxml
  GROUP BY extract(object_value,'//tantárgyfelelősneve/text()').getStringVal();
-- Módosítsuk az egyik tantárgyfelelős nevét, hogy legyen két egyforma tárgyfelelős.
UPDATE targyakxml SET object_value=UPDATEXML(object_value, '//tantárgyfelelősneve', XMLType(
 '<tantárgyfelelősneve>BÉLA</tantárgyfelelősneve>'));
-- SEGÉD: a <kötelezőirodalom/> bejegyzések kitörlése, mert az is 1-nek számolódik.
UPDATE targyakxml SET object_value = DELETEXML(object_value,'//kötelezőirodalom')
  WHERE extract(object_value,'//kötelezőirodalom').getStringVal()='<kötelezőirodalom/>';
-- Hány darab kötelező irodalom tartozik a tárgyakhoz tárgyanként?
SELECT
  extract(object_value,'//tantárgynév/text()').getStringVal() AS tantárgynév,
  count(extract(object_value,'//kötelezőirodalom')) AS kötelezőirodalmakszáma
from targyakxml
GROUP BY extract(object_value,'//tantárgynév/text()').getStringVal();

