Laboratorium 5
Transkrypt
Laboratorium 5
Laboratorium 5 Kursory i wyzwalacze Zadanie 1 Utworzyć anonimowy blok kodu, który korzystając z kursora bez parametru wyświetli pierwsze trzy wiersze tabeli ZAJECIA_DODATKOWE. Zadanie 2 Utworzyć procedurę DZIECI_KOMITET_RODZ zawierającą jeden parametr. Procedura ma wyświetlać informacje o dzieciach (id_dziecka, imie, nazwisko, komitet_rodzicielski), których rodzice zadeklarowali wpłaty na komitet rodzicielski nie mniejsze niż wartość podana jako parametr procedury. Przykładowo wywołanie DZIECI_KOMITET_RODZ(45) powinno wyświetlać informacje o dzieciach, których wpłaty na komitet rodzicielski wynoszą przynajmniej 45 zł. Wykorzystujemy kursor. Zadanie 3 Proszę napisać wyzwalacz, który wyświetli napis „Dodanie wiersza do tabeli DZIECI_ZAJECIA” przy każdym dodaniu rekordu do tej właśnie tabeli. Zadanie 4 Do naszego schematu proszę dodać wyzwalacz o nazwie MAX_4_ZAJECIA, który nie pozwoli na przypisanie dziecku więcej niż 4 zajęć dodatkowych. Można zmodyfikować wyzwalacz z poprzedniego zadania. Zadanie 5 a) Utworzyć tabelę ZMAINY_CEN z 6 kolumnami: id NUMBER(11) PRIMARY KEY -- klucz główny data_zmiany DATE NOT NULL -- data wykonania zmiany cen tabela VARCHAR2(200) -- nazwa tabeli, w której zmieniono ceny wiersz NUMBER(11) -- numer id wiersza, w którym zmieniono cenę stara_cena NUMBER(7,2) -- wartość starej ceny nowa_cena NUMBER(7,2) -- wartość nowej ceny b) Utworzyć odpowiednie wyzwalacze, które odnotują zmiany cen w tabelach POSILKI i ZAJECIA_DODATKOWE i dodadzą odpowiedni wiersz do tabeli ZMIANY_CEN. Zadanie 6 Utworzyć wyzwalacz, który będzie zapobiegał usuwaniu obiektów z naszego schematu. Zgłosić odpowiedni błąd użytkownikowi. Przetestować wyzwalacz tworząc dowolną tabelę lub sekwencję i spróbować ją usunąć. Następnie wyłączyć wyzwalacz i usunąć utworzoną tabelę lub sekwencję.