Funkcje deterministyczne

background image

Funkcje deterministyczne

Najpierw wyjaśnijmy, co to znaczy że funkcja jest lub nie jest deterministyczna. Funkcja jest
deterministyczna wtedy, kiedy dla takich samych parametrów zwróci zawsze ten sam wynik. To
oznacza, że taka funkcja musi działać zawsze w ten sam sposób, a na wynik nie powinny wpływać
żadne czynniki zewnętrzne tj. funkcja nie powinna korzystać z żadnych zmiennych pakietowych
ani innych źródeł zewnętrznych. Taka funkcja nie może też zmieniać żadnych danych w bazie (w
tabelach ani pakietach). W niektórych sytuacjach wymagane jest by funkcja była deterministyczna.
Przykładowo jeśli zechcemy użyć własnej funkcji w indeksie funkcyjnym, to funkcja ta musi być
deterministyczna. Nie tylko spełniać warunek jako taki, ale też musi to być jasno określone w treści
funkcji.
Poniżej przykład. Tworzę zwykłą funkcję, której już konstrukcja jasno wskazuje że funkcja jest
deterministyczna (wartość parametru zawsze zostanie podzielona przez 12 i zaokrąglona do 2
miejsca po przecinku). Nie jest to jednak określone specjalną klauzulą DETERMINISTIC.
Przy próbie wykorzystania takiej funkcji w indeksie funkcyjnym dostajemy błąd
„ ORA-30553 The function is not deterministic”

Bezpłatne materiały edukacyjne od JSystems. A.Klusiewicz

www.jsystems.pl

1/2

background image

Teraz dodaję klauzulę DETERMINISTIC (ponadto nic się nie zmienia), i przebudowuję funkcję, a
następnie ponownie próbuję stworzyć indeks funkcyjny w oparciu o tę funkcję:

Tym razem obyło się bez problemów.

Bezpłatne materiały edukacyjne od JSystems. A.Klusiewicz

www.jsystems.pl

2/2


Document Outline


Wyszukiwarka

Podobne podstrony:
Dyczkowska Determinanty funkcjonowania TSL
Dyczkowska Determinanty funkcjonowania TSL
BANK CENTRALNY I JEGO FUNKCJE
Zaburzenia funkcji zwieraczy
Genetyka regulacja funkcji genow
BYT 2005 Pomiar funkcjonalnosci oprogramowania
Diagnoza Funkcjonalna
Insulinoterapia funkcjonalna
Postać kanoniczna funkcji kwadratowej
Determinanty dochodu narodowego
Wpływ choroby na funkcjonowanie rodziny
LAB PROCEDURY I FUNKCJE
STRUKTURA I FUNKCJONOWANIE GN
układ pokarmowy budowa i funkcja

więcej podobnych podstron