Databázové systémy 2 Zkouška – 12:00
Příklad I - Funkce Vytvořte funkci ZK_IS_COLUMN_FK(P_TABLE_NAME IN VARCHAR2, P_COLUMN_NAME IN VARCHAR2) RETURN NUMBER. Funkce pro zadaný sloupec v zadané tabulce vrátí jedničku, pokud je daný sloupec v dané tabulce cizím klíčem. Jinak vrátí 0. Funkci využijte v následující proceduře. Nápověda: – Pohledy: USER_CONS_COLUMNS, USER_CONSTRAINTS – Sloupec: CONSTRAINT_TYPE IDAS2 – zkouška :00 2
Příklad II - Procedura Vytvořte proceduru ZK_NEJVICE_NULL(P_TABLE_NAME IN VARCHAR2, P_DROP NUMBER DEFAULT 0). Procedura nalezne v zadané tabulce (reprezentována parametrem p_table_name) sloupce, jenž obsahují absolutně nejvíce NULL hodnot. Pro každý takový sloupec vygeneruje procedura ALTER příkaz, který daný sloupec odstraní. – Skript se nevygeneruje ve chvíli, kdy daný sloupec je cizím klíčem z jiné tabulky. – V případě že bude cizím klíčem, objeví se pouze informativní hlášení: „ Sloupec: USR_ID je cizím klíčem. Nebude odstraněn.“ V případě že bude defaultní parametr p_drop nastaven na 1, bude daný ALTER vykonán. – V takovém případě připojte informaci o tom, že dané sloupce jsou vymazávány. Pokud zadané tabulka neexistuje, vygenerujte vlastní výjimku s kódem ORA IDAS2 – zkouška :00 3
Ukázkový výstup: IDAS2 – zkouška :00 4 Příklad II - Procedura
Zásady pro vypracování Dodržujte názvy databázových objektů a datové typy jejich parametrů. Čas na vypracování: 1 hodina 30 minut IDAS2 – zkouška :00 5