Temat 7

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

Zadanie do wykonania

Stwórz funkcję która będzie przyjmować 2 argumenty bedące ciągami znaków

(maksymalnie do 100 znaków) i zwróci ciąg znaków powstały z wymieszania na przemian znaków

z ciągu pierwszego z ciągiem drugim . Dodatkowo funkcja ta ma zamienić kolejność znaków

-- PRZYKŁAD: funkcja('ABCDE','12345') zwróci: 5E4D3C2B1A

W przypadku niezgodności długości ciągów wejściowych wyświetl komunikat typu: 'Błąd długości
znaków: X <> Y gdzie X i Y to długości ciągów wejściowych

KURSOR jest strukturą umożliwiającą przetwarzanie wielu wierszy zwracanych w określonej


kolejności przez zapytanie na zasadzie „wiersz po wierszu”.

Implementacja kursora wymaga:

● deklaracji

● określenia sposobu działania

● zamknięcia

● zwolnienia zasobów.

Powyższe właściwości pozwalają na zdefiniowanie wrażliwości kursora (SENSITIVITY), kierunku


działania (FETCH) oraz dozwolonych operacji do wykonania na operowanym zbiorze.

(+) PLUSY KORZYSTANIA Z KURSORÓW:

● Możliwość przeglądania wierszy w dowolny sposób.

● Lokalny oraz globalny zasięg.

● Możliwość stosowania blokowań.

(-) MINUSY KORZYSTANIA Z KURSORÓW:

● Wykorzystują one stosunkowo dużo zasobów sprzętowych w porównaniu z implementacjami


opartymi na zbiorach.

● Nie biorą pod uwagę wewnętrznych mechanizmów dotyczących optymalizowania zapytań, więc są
stosunkowo wolniejsze od alternatywnych rozwiązań opartych na zbiorach.
KIEDY I W JAKICH SYTUACJACH WARTO KORZYSTAĆ Z KURSORÓW:

● W procedurach oraz skryptach wykonujących czynności administracyjne, które zazwyczaj mogą być
wykonywane np. jednorazowo w ciągu doby, w przeciwieństwie do dziesiątek, setek, tysięcy czy
milionów operacji wykonywanych bezpośrednio na danych każdego dnia.

● W zadaniach wymagających uruchamiania procedur lub bloków kodu proceduralnego dla wielu
rekordów z tabel (kod proceduralny jest szczegółowo opisany w kilku lekcjach kursu
zaawansowanego).

● W przypadkach, kiedy odpytywanie oraz modyfikowanie nie dotyczy stosunkowo dużych ilości
danych.

● W sytuacjach, kiedy bardzo duże znaczenie ma kolejność wykonywanych kroków oraz ich wpływ na
obiekty bazodanowe.

Zadania do wykonania

Stwórz procedurę, która wyświetli w formie tekstowej (

w oknie messages) co drugiego pracownika

, którego nazwisko zaczyna się na literę

podaną w parametrze. W przypadku nie podania

parametru uwzględniaj tylko osby o nazwisku na l

literę 'Z'. W przypadku podania w parametrze wartosci

null nie uwzględniaj kryterium.

UWAGA: W zadaniu można użyć kursora.

Przykłąd wyniku:

'Pracownik nr #1 Jan Kowalski 25 lat'

'Pracownik nr #3 Tomasz Kowalski 26 lat'

'Pracownik nr #5 Piotr Kowalski 29 lat'

You might also like