Lista 4 – PL/SQL, bloki anonimowe i funkcje/procedury nie
Transkrypt
Lista 4 – PL/SQL, bloki anonimowe i funkcje/procedury nie
Lista 4 – PL/SQL, bloki anonimowe i funkcje/procedury nie operujące na danych Do wyświetlenia wartości z niektórych zadań należy w menu View program Oracle SQL Developer włączyć wyświetlanie okna DBMS Output i dodać aktualne połączenie. 1. Stworzyć blok anonimowy w którym za pomocą SYS_CONTEXT('USERENV','NLS_DATE_FORMAT') pobierzemy (do zmiennej tekstowej) formatowanie daty, i za pomocą tego formatowania wyświetlimy datę bieżącą (TO_CHAR, SYSDATE) – wykorzystać DBMS_OUTPUT.Put_line. 2. utworzyć funkcję która jako parametr wejściowy będzie miała podaną przez użytkownika datę urodzenia i wyświetli najbliższą datę urodzin (patrz lista 1). 3. utworzyć funkcję, która usunie z podanego napisu „polskie” literki (zamieni je na literki bez ogonków) – wykorzystać funkcje TRANSLATE. 4. utworzyć funkcję, która sprawdza, czy podany rok jest rokiem przestępnym (zwraca wartość 0 lub 1), a następnie drugą funkcję, która wylicza ostatni dzień miesiąca z podanej dany (bez korzystania z funkcji LAST_DAY) 5. utworzyć funkcję, która z podanego czasu utworzy wartość liczbową określającą liczbę sekund od północy – z podanego czasu należy wyciągnąć godziny, minuty i sekundy i odpowiednio pomnożyć (EXTRACT( part FROM datetime) lub TO_CHAR(datetime, ‘mi/hh24/ss’). 6. Utworzyć funkcję, która będzie liczyła kolejne potęgi dwójki, korzystając z różnych rodzajów pętli: LOOP, WHILE, FOR. Przed wykonaniem obliczeń sprawdzić podana wartość, czy obliczenia są możliwe (max. 38 liczb znaczących dla typu number, podana wartość musi być nieujemna). 7. Utworzyć funkcję, która sprawdza czy podana liczba jest pierwsza (standardowo poprzez sprawdzenie dzielenia od 2 do liczba/2).