Oracle PLSQL Pakiety i Funkcje Leksykon Kieszonkowy


Oracle PL/SQL Pakiety i funkcje
Leksykon kieszonkowy
Niniejszy leksykon, to podręczne zródło informacji na temat większości
wbudowanych pakietów i funkcji stworzonych przez firmę Oracle Corporation.
Są w nim zawarte zwięzłe opisy składni następujących elementów:
" wbudowanych pakietów;
" wbudowanych funkcji;
" dyrektyw pragma RESTRICT REFERENCES dla pakietów;
" pozostałych elementów (np. stałe, wyjątki itp.) zdefiniowanych na potrzeby
pakietów.
Chocia\ leksykon ten nie zawiera opisu ka\dego z pakietów czy funkcji, to
znajdują się tu wszystkie dodatki, jakie są najczęściej wykorzystywane przez
programistów PL/SQL.
UWAGA
Gdy pakiet, program lub funkcja jest dostępna jedynie w określonej wersji
systemu Oracle (np. Oracle8), jest to zaznaczone w tekście.
Celem leksykonu jest ułatwienie wyszukania składni definicji określonego
wbudowanego dodatku. Nie jest to podręcznik u\ytkownika. Aby korzystać z
ksią\ki, potrzebna jest podstawowa znajomość PL/SQL i jego dodatków. Więcej
informacji na ten temat znajduje się w następujących publikacjach:
Oracle PL/SQL Programming, autorstwa Stevena Feuersteina i Billa Pribyla
(O'Reilly & Associates. Second Edition, 1997)
Oracle Built-in Packages, autorstwa Stevena Feuersteina, Charlesa Dye'a i Johna
Beresniewicza (O'Reilly & Associates, 1998)
Konwencje
DUśE LITERY stosowane dla słów kluczowych PL/SQL.
małe litery stosowane dla elementów zdefiniowanych przez
u\ytkownika, takich jak parametry.
Kursywa stosowana dla parametrów w obrębie tekstu.
[ ] w opisie składni wskazuje na element opcjonalny.
Wbudowane pakiety
Pakiety PL/SQL pozwalają na tworzenie kolekcji powiązanych ze sobą
elementów programu i sprawowanie nad nimi kontroli. System Oracle zawiera
bardzo du\y zestaw wbudowanych pakietów, które na ró\ne sposoby rozszerzają
funkcjonalność PL/SQL. Wiele wbudowanych dodatków pozwala na dostęp do
mechanizmów, które nie byłyby dostępne w inny sposób. Z pewnością pakiety te
stanowią nieocenioną pomoc przy tworzeniu aplikacji, zarządzaniu zasobami
serwera i przy wykonywaniu wielu innych operacji.
Wbudowane pakiety są omówione w porządku alfabetycznym. Dla ka\dego
pakietu i programu zdefiniowanego w pakiecie zamieszczono nagłówek
(sekwencję wywołania) oraz dołączono krótki opis działania programu.
Dwa pakiety zasługują na szczególne omówienie. Pakiet STANDARD zawiera
wiele podstawowych elementów języka PL/SQL (typy danych, funkcje, a nawet
podstawowe operatory jak + i -). Funkcje pakietu STANDARD zostaną
omówione nieco pózniej w sekcji  Wbudowane funkcje".
Pakiet DBMS_STANDARD opisany pózniej w tym rozdziale stanowi
rozszerzenie pakietu STANDARD.
DBMS_ALERT
DBMS_ALERT zapewnia synchroniczny, transakcyjny mechanizm
powiadamiania o wystąpieniu określonego zdarzenia w bazie danych dla wielu
sesji.
PROCEDURE DBMS_ALERT.REGISTER (nazwa IN VARCHAR2);
Rejestruje wywołującą sesję z listy sesji odbierających
zgłoszenia alarmu nazwa.
PROCEDURE DBMS_ALERT.REMOVE (nazwa IN VARCHAR2);
Wyrejestrowuje sesję wywołującą z listy sesji odbierających zgłoszenia alarmu
nazwa.
PROCEDURE DBMS_ALERT.REMOVEALL;
Wyrejestrowuje sesję wywołującą z listy sesji odbierających zgłoszenia
jakiegokolwiek alarmu.
PROCEDURE DBMS_ALERT.SET_DEFAULTS (czułość IN NUMBER);
Pozwala określić ustawienia dla wywołującej sesji (czulość definiuje krok pętli
oczekiwania w sekundach).
PROCEDURE DBMS_ALERT.SIGNAL (nazwa IN VARCHAR2,
komunikat IN VARCHAR2);
Zgłasza wystąpienie alarmu nazwa wraz z dołączonym komunikatem komunikat
(Zarejestrowane sesje dla alarmu nazwa otrzymują zawiadomienie jedynie wtedy,
gdy zgłaszająca transakcja zostaje zatwierdzona).
PROCEDURE DBMS_ALERT.WAITANY (nazwa OUT VARCHAR2,
komunikat OUT VARCHAR2, status OUT INTEGER,
dozwolony_czas IN NUMBER DEFAULT MAXWAIT);
Powoduje oczekiwanie przez czas wynoszący maksymalnie dozwolony_czas
sekund na zawiadomienie o dowolnym alarmie, do którego zarejestrowana jest
sesja. Jeśli status = 0, to nazwa i komunikat zawierają informację alarmu. Jeśli
status = 1, to minął dozwolony czas oczekiwania przed nadejściem
zawiadomienia.
PROCEDURE DBMS_ALERT.WAITONE (nazwa IN VARCHAR2,
komunikat OUT VARCHAR2, status OUT INTEGER,
dozwolony_czas IN NUMBER DEFAULT MAXWAIT);
Powoduje oczekiwanie przez czas wynoszący maksymalnie dozwolony_czas
sekund na zawiadomienie o alarmie nazwa. Jeśli status = 0, to nazwa i komunikat
zawierają informację alarmu. Jeśli status = l, to minął dozwolony czas
oczekiwania przed nadejściem zawiadomienia.
DBMS_APPLICA TION_INFO
DBMS_APPLICATION_INFO pozwala aplikacjom na rejestrowanie bie\ącego
stanu wykonania w kilku wirtualnych tabelach V$ systemu Oracle.
PROCEDURE DBMS_APPLICATION_INFO.READ_CLIENT_INFO
(info_klienta OUT VARCHAR2);
Zwraca aktualnie zapisaną informację info_klienta dla danej sesji.
PROCEDURE DBMS_APPLICATION_INFO.READ_MODULE
(nazwa_modułu OUT VARCHAR2,
nazwa_czynności OUT VARCHAR2);
Zwraca bie\ąco zapisaną nazwa_modułu i nazwa_czynności dla danej sesji.
PROCEDURE DBMS_APPLICATION_INFO.SET_ACTION
(nazwa_czynności IN VARCHAR2);
Zapisuje nazwa_czynności w V$SESSION oraz V$SQLAREA jako bie\ącą
czynność dla danej sesji.
PROCEDURE DBMS_APPLICATION_INFO.SET_CLIENT_INFO
(info_klienta IN VARCHAR2);
Zapisuje info_klienta w V$SESSION jako aktualną informację o kliencie dla
danej sesji.
PROCEDURE DBMS_APPLICATION_INFO.SET_MODULE
(nazwa_modułu IN VARCHAR2, nazwa_czynności IN VARCHAR2);
Zapisuje nazwa_modułu i nazwa_czynności w V$SESSION oraz V$SQLAREA
jako bie\ący moduł i czynność dla sesji.
PROCEDURE DBMS_APPLICATION_INFO.SET_SESSION_LONGOPS
(wskazówka IN OUT BINARY_INTEGER, kontekst IN NUMBER
DEFAULT 0, id_kroku IN NUMBER DEFAULT 0, bie\ący_krok IN
NUMBER DEFAULT 0, ilość_kroków IN NUMBER DEFAULT 0,
wykonanie IN NUMBER DEFAULT 0, do_wykonania_razem IN
NUMBER DEFAULT 0, dane_aplikacji_1 IN NUMBER DEFAULT 0,
dane_aplikacji_2 IN NUMBER DEFAULT 0, dane_aplikacji_3 IN
NUMBER DEFAULT 0);
Zapisuje lub aktualizuje dane o procesie wykonania dla długotrwałych operacji w
tabeli wirtualnej V$SESSION_LONGOPS. Wiersze są identyfikowane poprzez
wartość wskazówka; nowy wiersz jest uzyskiwany poprzez ustawienie
wskazówka na wartość stałej pakietu set_session_longops_nohint. Unikatowa
kombinacja id_kroku oraz kontekst równie\ wymusza nowy wiersz.
Procedura SET_SESSION_LONGOPS jest u\ywana do śledzenia przebiegu
czasochłonnego procesu poprzez modyfikację danych w wirtualnej tabeli
V$SESSION_ LONGOPS.
DBMS_AQ
Pakiet DBMS_AQ pozwala na wstawianie i usuwanie komunikatów z kolejki
stworzonej za pomocą metody Oracle Advanced Queuing (tylko dla systemu
Oracle8).
PROCEDURE DBMS_AQ.ENQUEUE
(nazwa_kolejki IN VARCHAR2, opcje_wstawiania IN
DBMS_AQ.ENQUEUE_OPTIONS_T,
właściwości_komunikatu IN DBMS_AQ.MESSAGE_PROPERTIES_T,
zawartość IN typ_zawartości, id_komunikatu OUT RAW);
Wstawia zawartość komunikatu do kolejki nazwa_kolejki zgodnie z opcjami
określonymi w rekordzie opcje_wstawiania. Zawartość mo\e być typu RAW
bądz te\ nazwą obiektu o określonym typie. Zwraca wskaznik do wiadomości w
id_komunikatu.
PROCEDURE DBMS_AQ.DEQUEUE
(nazw_kolejki IN VARCHAR2, opcje_usuwania IN
DBMS_AQ.DEQUEUE_OPTIONS_T, właściwości_komunikatu OUT
DBMS_AQ.MESSAGE_PROPERTIES_T, zawartość OUT
typ_zawartości, id_wiadomości OUT RAW);
Pobiera zawartość komunikatu (mo\e być RAW lub obiekt danego typu) wraz z
właściwościami komunikatu określonymi przez opcje_usuwania. Równie\
zwraca identyfikator komunikatu.
DBMS_AQADM
Pakiet DBMS_AQADM zawiera zbiór programów pozwalających tworzyć,
zarządzać i usuwać kolejki i tabele kolejek w Oracle Advanced Queuing.
PROCEDURE DBMS_AQADM.CREATE_QUEUE_TABLE (tabela_kolejki
IN VARCHAR2, typ_zawartości_kolejki IN VARCHAR2,
klauzula_przechowywania IN VARCHAR2 DEFAULT NULL,
lista_sortowania IN VARCHAR2 DEFAULT NULL,
wielu_konsumentów IN BOOLEAN DEFAULT FALSE,
grupowanie IN BINARY_INTEGER DEFAULT NONE, komentarz IN
VARCHAR2 DEFAULT NULL, auto_zatwierdzanie IN BOOLEAN
DEFAULT TRUE);
Tworzy tabelę kolejki o nazwie tabela_kolejki typu typ_zawartości_kolejki
(RAW lub nazwa obiektu typu TYPE).
PROCEDURE DBMS_AQADM.CREATE_QUEUE (nazwa_kolejki IN
VARCHAR2, tabela_kolejki IN VARCHAR2, typ_kolejki IN
BINARY_INTEGER DEFAULT NORMAL_QUEUE,
max_próby IN NUMBER DEFAULT 0, opóznienie IN NUMBER
DEFAULT 0, czas_zachowania IN NUMBER DEFAULT 0, śledzenie
IN BOOLEAN DEFAULT FALSE,
komentarz IN VARCHAR2 DEFAULT NULL, auto_zatwierdzanie IN
BOOLEAN DEFAULT TRUE);
Tworzy kolejkę nazwa_kolejki w tabeli kolejki tabela_kolejki.
PROCEDURE DBMS_AQADM.DROP_QUEUE
(nazwa_kolejki IN VARCHAR2, auto_zatwierdzanie IN
BOOLEAN DEFAULT TRUE);
Usuwa kolejkę nazwa_kolejki.
PROCEDURE DBMS_AQADM.DROP_QUEUE_TABLE
(tabela_kolejki IN VARCHAR2, wymuszanie IN BOOLEAN
DEFAULT FALSE, auto_zatwierdzanie IN BOOLEAN DEFAULT
TRUE);
Usuwa tabelę kolejki o nazwie tabela_kolejki.
PROCEDURE DBMS_AQADM.START_QUEUE
(nazwa_kolejki IN VARCHAR2, dodawanie IN BOOLEAN DEFAULT
TRUE, usuwanie IN BOOLEAN DEFAULT TRUE);
Uruchamia kolejkę nazwa_kolejki z mo\liwością dodawania i (lub) usuwania
elementów.
PROCEDURE DBMS_AQADM.STOP_QUEUE
(nazwa_kolejki IN VARCHAR2, dodawanie IN BOOLEAN DEFAULT
TRUE, usuwanie IN BOOLEAN DEFAULT TRUE, czas_oczekiwania
IN BOOLEAN DEFAULT TRUE);
Zatrzymuje kolejkę nazwa_kolejki, zabraniając dodawania i (lub) usuwania
elementów z oczekiwaniem przez czas_oczekiwania na zakończenie
realizowanych transakcji.
PROCEDURE DBMS_AQADM.ALTER_QUEUE
(nazwa_kolejki IN VARCHAR2, max_powtórzeń IN NUMBER
DEFAULT NULL, opóznienie IN NUMBER DEFAULT NULL,
czas_zachowania IN NUMBER DEFAULT NULL,
auto_zatwierdzanie IN BOOLEAN DEFAULT TRUE);
Modyfikuje określone parametry kolejki nazwa_kolejki.
PROCEDURE DBMS_AQADM.ADD_SUBSCRIBER (nazwa_kolejki IN
VARCHAR2, abonent IN SYS.AQS_AGENT);
Dodaje agenta abonenta do kolejki nazwa_kolejki.
PROCEDURE DBMS_AQADM.REMOVE_SUBSCRIBER (nazwa_kolejki
IN VARCHAR2, abonent IN SYS.AQ$_AGENT);
Usuwa agenta abonenta z kolejki nazwa_kolejki.
PROCEDURE DBMS_AQADM.GRANT_TYPE_ACCESS
(nazwa_u\ytkownika IN VARCHAR2);
Nadaje prawa u\ytkownikowi nazwa_u\ytkawnika do tworzenia kolejek
współpracujących z wieloma konsumentami.
FUNCTION DBMS_AQADM.QUEUE_SUBSCRIBERS
(nazwa_kolejki IN VARCHAR2)
RETURN AQ$_SUBSCRIBER_LIST_T;
Zwraca listę abonentów kolejki nazwa_kolejki.
PROCEDURE DBMS_AQADM.START_TIME_MANAGER;
Uruchamia proces monitora kolejki.
PROCEDURE DBMS_AQADM.STOP_TIME_MANAGER;
Zatrzymuje proces monitora kolejki.
DBMS_DDL
DBMS_DDL zawiera programy pozwalające na rekompilację kodu procedur
magazynowanych, analizę i wyliczanie statystyk dla obiektów bazy danych oraz
modyfikację wzajemnych zale\ności obiektów w systemie Oracle8.
PROCEDURE DBMS_DDL.ALTER_COMPILE (typ IN VARCHAR2,
schemat IN VARCHAR2, nazwa IN VARCHAR2);
Rekompiluje magazynowany obiekt PL/SQL nazwa (rozró\niane są du\e i małe
litery), który nale\y do schematu schemat i jest typu typ. Schemat NULL
powoduje u\ycie bie\ącego schematu. Dopuszczalne wartości dla typu to:
PROCEDURE, FUNCTION, PACKAGE, PACKAGE BODY oraz PACKAGE
SPECIFICATION.
PROCEDURE DBMS_DDL.ALTER_TABLE_NOT_REFERENCEABLE
(nazwa_tabeli IN VARCHAR2, schemat_tabeli IN VARCHAR2
DEFAULT NULL, zmieniany_schemat IN VARCHAR2 DEFAULT
NULL);
Przywraca zale\ności dla obiektu nazwa_tabeli według schematu
zmieniany_schemat do nazwa_tabeli nale\ącej do schematu schemat_tabeli na
domyślne (tylko dla systemu Oracle8).
PROCEDURE DBMS_DDL.ALTER_TABLE_REFERENCEABLE
(nazwa_tabeli IN VARCHAR2,
schemat_tabeli IN VARCHAR2 DEFAULT NULL,
zmieniany_schemat IN VARCHAR2 DEFAULT NULL);
Tworzy wzajemne zale\ności dla obiektu tabeli w schemacie schemat_tabeli na
podstawie schematu zmieniany_schemat dla obiektu nazwa_tabeli (tylko dla
systemu Oracle8).
PROCEDURE DBMS_DDL.ANALYZE_OBJECT
(typ IN VARCHAR2, schemat IN VARCHAR2, nazwa IN VARCHAR2,
metoda IN VARCHAR2,
estymowane_wiersze IN NUMBER DEFAULT NULL,
procent_estymacji IN NUMBER DEFAULT NULL, opcje_metody IN
VARCHAR2 DEFAULT NULL);
Wykonuje analizę obiektu bazy danych w danym schemacie i określonego typu
(TABLE, INDEX lub CLUSTER), korzystając z metody (ESTIMATE, NULL
lub DELETE). Gdy metoda to ESTIMATE, w celu określenia zakresu musi
zostać podana albo wartość estymowane _wiersze albo procent_estymacji.
Dodatkowe opcje analizy określone w opcje_metody to: FOR TABLE, FOR ALL
COLUMNS [SIZE N], FOR ALL INDEXED COLUMNS [SIZE N] oraz FOR
ALL INDEXES.
DBMS_DESCRIBE
Pakiet DBMS_DESCRIBE zawiera pojedynczą procedurę wykorzystywaną do
opisu argumentów magazynowanej procedury lub funkcji PL/SQL.
PROCEDURE DBMS_DESCRIBE.DESCRIBE_PROCEDURE
(nazwa_obiektu IN VARCHAR2, zarezerwowane1 IN VARCHAR2,
zarezerwowane 2 IN VARCHAR2, przeładowanie OUT
DBMS_DESCRIBE.NUMBER_TABLE,
pozycja OUT DBMS_DESCRIBE.NUMBER_TABLE, poziom OUT
DBMS_DESCRIBE.NUMBER_TABLE, nazwa_argumentu OUT
DBMS_DESCRIBE.VARCHAR2_TABLE,
typ_danych OUT DBMS_DESCRIBE.NUMBER_TABLE,
wartość_domyślna OUT DBMS_DESCRIBE.NUMBER_TABLE,
we_wy OUT DBMS_DESCRIBE.NUMBER_TABLE, długość OUT
DBMS_DESCRIBE.NUMBER_TABLE, precyzja OUT
DBMS_DESCRIBE.NUMBER_TABLE, skala OUT
DBMS_DESCRIBE.NUMBER_TABLE, podstawa OUT
DBMS_DESCRIBE.NUMBER_TABLE, zapas OUT
DBMS_DESCRIBE.NUMBER_TABLE);
Zwraca informacje o parametrach i typach zwracanych (w przypadku funkcji)
określonego obiektu (procedury lub funkcji) w zbiorze tabel PL/SQL, których
typy są opisane w tym samym pakiecie.
DBMS_JOB
DBMS_JOB jest interfejsem do podsystemu kolejek zadań Oracle, które
pozwalają na automatyczne, bezobsługowe tworzenie harmonogramu i
wykonywanie programów PL/SQL.
PROCEDURE DBMS_JOB.BROKEN
(zadanie IN BINARY_INTEGER,
uszkodzone IN BOOLEAN,
data IN DATE DEFAULT SYSDATE);
Ustawia lub gasi flagę uszkodzone dla danego zadania oraz opcjonalnie ustawia
datę następnego wykonania poprzez określenie wartości data. Zadania z
ustawioną flagą nie są automatycznie uruchamiane.
PROCEDURE DBMS_JOB.CHANGE
(zadanie IN BINARY_INTEGER, kod IN VARCHAR2, data IN DATE,
interwał IN VARCHAR2);
Zmienia jeden lub więcej parametrów dla zadania (kod, data lub interwał).
PROCEDURE DBMS_JOB.INTERVAL
(zadanie IN BINARY_INTEGER, interwał IN VARCHAR2);
Zmienia wyra\enie słu\ące do określenia daty następnego wykonania zadania
na wartość interwał.
PROCEDURE DBMS_JOB.ISUBMIT
(zadanie IN BINARY_INTEGER,
kod IN VARCHAR2,
data IN VARCHAR2,
interwał IN VARCHAR2 DEFAULT 'null',
bez_parsowania IN BOOLEAN DEFAULT FALSE);
Tworzy nowe zadanie o określonym numerze zadania i definicji PL/SQL w kod,
ustawiając harmonogram wykonania na data z interwałem interwał. Gdy
parametr bez_parsowania ma wartość TRUE, operacja parsowania kodu PL/SQL
jest odroczona do momentu wykonania.
PROCEDURE DBMS_JOB.NEXT_DATE
(zadanie IN BINARY_INTEGER, data IN DATE);
Zmienia termin następnego uruchomienia zadania na wartość data.
PROCEDURE DBMS_JOB.REMOVE
(zadanie IN BINARY_INTEGER);
Usuwa zadanie z kolejki zadań. Jeśli zadanie jest w trakcie wykonania, nastąpi
jego dokończenie, lecz bez ponownego wstawienia do harmonogramu.
PROCEDURE DBMS_JOB.RUN
(zadanie IN BINARY_INTEGER);
Uruchamia zadanie dla bie\ącej sesji w trybie natychmiastowym.
PROCEDURE DBMS_JOB.SUBMIT
(zadanie OUT BINARY_INTEGER,
kod IN VARCHAR2,
data IN DATE DEFAULT SYSDATE,
interwał IN VARCHAR2 DEFAULT 'null',
bez_parsowania IN BOOLEAN DEFAULT FALSE);
Tworzy nowe zadanie o określonym numerze zadania i definicji PL/SQL w kod,
ustawiając harmonogram wykonania na data z interwałem interwał. Procedura
zwraca numer identyfikacyjny dla zadania w zadanie. Gdy parametr
bez_parsowania ma wartość TRUE, operacja parsowania kodu PL/ SQL jest
odroczona do momentu wykonania.
PROCEDURE DBMS_JOB.USER_EXPORT
(zadanie IN BINARY_INTEGER,
wywołanie IN OUT VARCHAR2);
Zwraca łańcuch znakowy w wywalanie zawierający odwołanie do
DBMS_JOB.ISUBMIT, które mo\e posłu\yć do ponownego utworzenia zadania
w kolejce.
PROCEDURE DBMS_JOB.WHAT
(zadanie IN BINARY_INTEGER, kod IN VARCHAR2);
Zmienia definicję PL/SQL dla zadania zadanie na kod.
DBMS_LOB
Pakiet DBMS_LOB zawiera metody zapewniające dostęp i obsługę obiektów
LOB (ang. large objects). Obiekty LOB obejmują obiekty: BLOB (ang. binary
large objects), CLOB (ang. character large objects), NCLOB (ang. National
Language Support character large objects) oraz BFILE (ang. binary files).
Klauzula CHARACTER SET ANY_CS w deklaracjach CLOB określa
lokalizatory CLOB lub NCLOB (tylko dla systemu Oracle8).
PROCEDURE DBMS_LOB.APPEND
(docelowy_lob IN OUT BLOB, zródłowy_lob IN BLOB);
PROCEDURE DBMS_LOB.APPEND
(docelowy_lob IN OUT CLOB CHARACTER SET
ANY_CS,
zródłowy_lob IN CLOB CHARACTER SET
docelowy_lob%CHARSET) ;
Dołącza zawartość zródłowego obiektu LOB zródłowy_lob do docelowego LOB
docelowy_lob. Oba obiekty LOB muszą być tego samego typu: BLOB, CLOB lub
NCLOB.
FUNCTION DBMS_LOB.COMPARE
(lob_1 IN BLOB | CLOB CHARACTER SET ANY_CS,
lob_2 IN BLOB | CLOB CHARACTER SET lob_1%CHARSET,
ilość IN INTEGER := 4294967295,
offset_1 IN INTEGER := 1,
offset_2 IN INTEGER := 1)
RETURN INTEGER;
FUNCTION DBMS_LOB.COMPARE
(plik_1 IN BFILE,
plik_2 IN BFILE,
ilość IN INTEGER,
offset_1 IN INTEGER := 1,
offset_2 IN INTEGER := 1)
RETURN INTEGER;
Porównuje wejściowe obiekty LOB lob_1 i lob_2 lub plik_1 i plik_2 na obszarze
ilość bajtów, opcjonalnie rozpoczynając od pozycji offset_1 i offset_2 bajtów w
plikach wejściowych. Oba obiekty muszą być tego samego typu LOB: BLOB,
CLOB, NCLOB lub BFILE.
Zwraca wartość 0, jeśli obiekty są dokładnie takie same, wartość ró\ną od zera w
przypadku ró\nicy lub NULL, jeśli którykolwiek z parametrów ilość, offtet_1 lub
offset_2 są bądz mniejsze od 1, bądz większe od lobmaxsize.
PROCEDURE DBMS_LOB.COPY
(docelowy_lob IN OUT BLOB,
zródlowy_lob IN BLOB,
ilość IN INTEGER,
docelowy_offset IN INTEGER := 1,
zródłowy_offset IN INTEGER := 1);
PROCEDURE DBMS_LOB.COPY
(docelowy_lob IN OUT CLOB CHARACTER SET ANY_CS,
zródłowy_lob IN CLOB CHARACTER SET dest_lob%CHARSET,
ilość IN INTEGER,
docelowy_offset IN INTEGER := 1,
zródlowy_offset IN INTEGER := 1);
Kopiuje ilość bajtów (BLOB) lub znaków (CLOB) ze zródłowego LOB
zródłowy_lob, rozpoczynając od pozycji zródłowy_offset, bajtów lub znaków do
obiektu LOB docelowy_lob od pozycji docelowy_offset. Oba obiekty muszą być
tego samego typu LOB: BLOB, CLOB lub NCLOB.
PROCEDURE DBMS_LOB.ERASE
(lob_lok IN OUT BLOB | CLOB CHARACTER SET ANY_CS, ilość
IN OUT INTEGER, Offset IN INTEGER := 1);
Wymazuje (wypełnia wartością zero) określoną ilość ilość bajtów (BLOB) lub
znaków (CLOB) w obiekcie LOB lob_lok, począwszy od offset bajtów lub
znaków w obiekcie LOB.
PROCEDURE DBMS_LOB.FILECLOSE
(lok_pliku IN OUT BFILE);
Zamyka obiekty BFILE lok_pliku, niezale\nie od tego, czy jest otwarty, czy nie.
PROCEDURE DBMS_LOB.FILECLOSEALL;
Zamyka wszystkie obiekty BFILE dla bie\ącej sesji.
FUNCTION DBMS_LOB.FILEEXISTS
(lok_pliku IN BFILE)
RETURN INTEGER;
Zwraca 1, jeśli obiekt BFILE lok_pliku istnieje, lub 0 w przeciwnym przypadku.
PROCEDURE DBMS_LOB.FILEGETNAME
(lok_pliku IN BFILE, alias_katalogu OUT VARCHAR2,
nazwa_pliku OUT VARCHAR2);
Pobiera alias katalogu (jaki został poprzednio zdefiniowany poleceniem
CREATE DIRECTORY) i nazwę pliku dla danego lokalizatora lok_pliku.
FUNCTION DBMS_LOB.FILEISOPEN
(lok_pliku IN BFILE)
RETURN INTEGER;
Zwraca l, jeśli BFILE lok_pliku jest otwarty, lub 0 w przeciwnym przypadku.
PROCEDURE DBMS_LOB.FILEOPEN
(lok_pliku IN OUT BFILE,
tryb_otwarcia IN BINARY_INTEGER :=FILE_READONLY) ;
Otwiera obiekt BFILE lok_pliku do trybu tylko-do-odczytu.
FUNCTION DBMS_LOB.GETLENGTH
(lob_lok IN BLOB)
RETURN INTEGER;
FUNCTION DBMS_LOB.GETLENGTH
(lob_lok IN CLOB CHARACTER SET ANY_CS)
RETURN INTEGER;
FUNCTION DBMS_LOB.GETLENGTH
(lob_lok IN BFILE)
RETURN INTEGER;
Zwraca rozmiar obiektu LOB lob_lok w bajtach lub znakach.
FUNCTION DBMS_LOB.INSTR
(lob_lok IN BLOB | BFILE,
wzorzec IN RAW,
offset IN INTEGER := 1,
krotność IN INTEGER := 1) RETURN INTEGER;
FUNCTION DBMS_LOB.INSTR
(lob_lok IN CLOB CHARACTER SET ANY_CS,
wzorzec IN VARCHAR2 CHARACTER SET lob_lok%CHARSET,
offset IN INTEGER := 1,
krotność IN INTEGER := 1) RETURN INTEGER;
Podobna do wbudowanej funkcji INSTR. Zwraca pozycję bajta (BLOB) lub
znaku (CLOB) w obiekcie LOB lob_lok, gdzie znaleziono n-krotne wystąpienie
wzorca. Wyszukiwanie rozpoczyna się od pozycji offset w bajtach lub znakach.
PROCEDURE DBMS_LOB.LOADFROMFILE
(docelowy_lob IN OUT BLOB | CLOB CHARACTER SET ANY_CS,
zródłowy_lob IN BFILE, ilość IN INTEGER,
docelowy_offset IN INTEGER := 1, zródłowy_offset IN
INTEGER := 1);
Kopiuje określoną ilość bajtów ze zródłowego obiektu BFILE zródłowy_lob do
docelowego obiektu LOB docelowy_lob, rozpoczynając od pozycji
zródłowy_offset w bajtach obiektu zródłowego i docelowy_offset bajtów obiektu
docelowego.
PROCEDURE DBMS_LOB.READ
(lob_lok IN BLOB | BFILE, ilość IN OUT BINARY_INTEGER,
offset IN INTEGER, bufor OUT RAW);
PROCEDURE DBMS_LOB.READ
(lob_lok IN CLOB CHARACTER SET ANY_CS,
ilość IN OUT BINARY_INTEGER,
offset IN INTEGER,
bufor OUT VARCHAR2 CHARACTER SET lob_lok%CHARSET) ;
Kopiuje ilość bajtów (BLOB) lub znaków (CLOB) z obiektu LOB lob_lok,
począwszy do pozycji offset bajtów lub znaków w obiekcie do zmiennej bufor.
Zwraca rzeczywistą ilość skopiowanych bajtów lub znaków.
FUNCTION DBMS_LOB.SUBSTR
(lob_lok IN BLOB | BFILE,
ilość IN INTEGER := 32767,
offset IN INTEGER := 1) RETURN RAW;
FUNCTION DBMS_LOB.SUBSTR
(lob_lok IN CLOB CHARACTER SET ANY_CS,
amount IN INTEGER := 32767,
offset IN INTEGER := 1) RETURN VARCHAR2 CHARACTER SET
lob_lok%CHARSET;
Podobna do wbudowanej funkcji SUBSTR. Zwraca ilość bajtów (BLOB) lub
znaków (CLOB) obiektu LOB lob_lok, poczynając od pozycji offset wyra\onej w
bajtach lub znakach.
PROCEDURE DBMS_LOB.TRIM
(lob_lok IN OUT BLOB | CLOB CHARACTER SET ANY_CS,
nowa_długość IN INTEGER);
Skraca obiekt LOB lob_lok do nowej długości określonej przez nowa_dlugosc w
bajtach (BLOB) lub znakach (CLOB).
PROCEDURE DBMS_LOB.WRITE (lob_lok IN OUT BLOB, ilość IN
BINARY_INTEGER, offset IN INTEGER, bufor IN RAW);
PROCEDURE DBMS_LOB.WRITE
(lob_lok IN OUT CLOB CHARACTER SET ANY_CS, ilość IN
BINARY_INTEGER, offset IN INTEGER, bufor IN VARCHAR2
CHARACTER SET lob_lok%CHARSET) ;
Kopiuje ilość bajtów ze zmiennej bufor do docelowego obiektu LOB lob_lok,
rozpoczynając od pozycji offset w bajtach (BLOB) lub znakach (CLOB),
nadpisując istniejące dane w obiekcie.
DBMS_LOCK
Pakiet DBMS_LOCK udostępnia usługi systemu Oracle związane z obsługą
blokad do implementacji wyspecjalizowanych blokad, nie związanych z danymi,
oraz wymagań szeregowania w obrębie aplikacji.
PROCEDURE DBMS_LOCK.ALLOCATE_UNIQUE
(nazwa_blokady IN VARCHAR2, uchwyt_blokady OUT VARCHAR2,
czas_zycia IN INTEGER DEFAULT 864000);
Alokuje unikatowy uchwyt_blokady dla blokady identyfikowanej przez
nazwa_blokady na okres określony parametrem czas_\ycia. Wykonuje równie\
operację zatwierdzenia.
FUNCTION DBMS_LOCK.CONVERT
(id IN INTEGER | uchwyt_blokady IN VARCHAR2,
tryb_blokady IN INTEGER,
czas_oczekiwania IN NUMBER DEFAULT MAXWAIT)
RETURN INTEGER;
Zmienia tryb blokady na tryb_blokady dla blokady identyfikowanej przez
identyfikator id lub uchwyt_blokady. Próba realizacji zmiany trybu jest
podejmowana przez czas określony parametrem czas_oczekiwania. Parametr
tryb_blokady musi mieć wartość stałej zdefiniowanej w pakiecie DBMS_LOCK.
Zwracane wartości to 0 = pomyślne zakończenie; l = upłynął czas oczekiwania; 2
= zakleszczenie; 3 = błędny parametr; 4 = nie jest właścicielem, zmiana jest
niemo\liwa; 5 = niepoprawna wartość uchwytu.
FUNCTION DBMS_LOCK.RELEASE
(id IN INTEGER | uchwyt_blokady IN VARCHAR2) RETURN
INTEGER;
Zwalnia blokadę identyfikowaną przez id lub uchwyt_blokady. Zwracane
wartości: 0 = pomyślne zakończenie; 3 = błędny parametr; 4 = nie jest
właścicielem, zwolnienie jest niemo\liwe; 5 = niepoprawna wartość uchwytu.
FUNCTION DBMS_LOCK.REQUEST
(id IN INTEGER | uchwyt_blokady IN VARCHAR2, tryb_blokady
IN INTEGER DEFAULT X_MODE, czas_oczekiwania IN INTEGER
DEFAULT MAXWAIT, zwolnij_przy_zatwierdzeniu IN BOOLEAN
DEFAULT FALSE)
RETURN INTEGER;
Próbuje zająć blokadę identyfikowaną przez id albo przez uchwyt_blokady w
trybie określonym przez tryb_blokady przez czas określony parametrem
czas_oczekiwania. Gdy parametr zwolnij_przy_zatwierdzeniu ma wartość TRUE,
to blokada jest automatycznie zwalniana przy operacji COMMIT lub
ROLLBACK. tryb_blokowania musi przyjmować wartość stałej zdefiniowanej
dla pakietu DBMS_LOCK. Zwracane wartości: 0 = pomyślne zakończenie; 1 =
upłynął czas oczekiwania; 2 = zakleszczenie; 3 = błędny parametr; 4 = nie jest
właścicielem, zajęcie jest niemo\liwe; 5 = niepoprawna wartość uchwytu.
PROCEDURE DBMS_LOCK.SLEEP (sek IN NUMBER);
Zawiesza sesję na czas (w sekundach) określony parametrem sek.
DBMS_OUTPUT
Ten pakiet dostarcza mechanizmy do wyświetlania informacji z programu
PL/SQL na urządzeniu wyjściowym sesji. Mo\na go wykorzystać jako proste
narzędzie do debuggingu lub śledzenia.
PROCEDURE DBMS_OUTPUT.DISABLE;
Wyłącza wyjście dla pakietu i czyści bufor DBMS_OUTPUT.
PROCEDURE DBMS_OUTPUT.ENABLE
(rozmiar_bufora IN INTEGER DEFAULT 20000);
Włącza wyjście dla pakietu i ustawia maksymalny rozmiar bufora w bajtach na
wartość rozmiar_bufora.
PROCEDURE DBMS_OUTPUT.GET_LINE
(linia OUT VARCHAR2, status OUT INTEGER);
Pobiera następną linię tekstu z bufora i umieszcza ją w zmiennej linia. Status
równy 0 oznacza pomyślne zakończenie operacji; 1 oznacza wystąpienie blędu.
PROCEDURE DBMS_OUTPUT.GET_LINES
(linia OUT DBMS_OUTPUT.CHARARR, ilosc_linii IS OUT
INTEGER);
Pobiera ilość_linii linii z bufora i umieszcza je w tablicy PL/SQL.
PROCEDURE DBMS_OUTPUT.NEW_LINE;
Zapisuje znak nowej linii do bufora wyjściowego DBMS_OUTPUT.
PROCEDURE DBMS_OUTPUT.PUT
(a IN DATE|NUMBER|VARCHAR2);
Wstawia dane zawarte w a do bufora DBMS_OUTPUT i nie dodaje znaku nowej
linii.
PROCEDURE DBMS_OUTPUT.PUT_LINE
(a IN DATE|NUMBER|VARCHAR2);
Wstawia dane zawarte w a do bufora DBMS_OUTPUT i dodaje znak nowej linii.
DBMS_PIPE
Pakiet DBMS_PIPE pozwala zrealizować wymianę komunikatów między
sesjami bazy danych przy u\yciu struktur pamięciowych. Komunikacjajest
asynchroniczna, nietransakcyjna i dostępna jedynie na czas sesji.
FUNCTION DBMS_PIPE.CREATE_PIPE
(nazwa_potoku IN VARCHAR2,
max_rozm_potoku IN INTEGER DEFAULT 8192,
prywatny IN BOOLEAN DEFAULT TRUE)
RETURN INTEGER;
Tworzy potok identyfikowany przez nazwa_potoku o maksymalnym rozmiarze
max_rozm_potoku i zwraca 0. Gdy parametr prywatny ma wartość FALSE, to
potok jest publicznie dostępny.
FUNCTION DBMS_PIPE.NEXT_ITEM_TYPE RETURN INTEGER;
Zwraca wartość całkowitą określającą typ danych następnego elementu w buforze
komunikatu sesji.
PROCEDURE DBMS_PIPE.PACK_MESSAGE
(element IN VARCHAR2 | NUMBER | DATE);
Wstawia (pakuje) element do bufora komunikatu sesji, powodując przeładowanie
typu danych elementu.
PROCEDURE DBMS_PIPE.PACK_MESSAGE_RAW (element IN RAW);
Wstawia (pakuje) dane typu RAW zawarte w element do bufora komunikatu sesji.
PROCEDURE DBMS_PIPE.PACK_MESSAGE_ROWID (element IN
ROWID);
Wstawia (pakuje) dane typu ROWID zawarte w element do bufora komunikatu
sesji.
PROCEDURE DBMS_PIPE.PURGE
(nazwa_potoku IN VARCHAR2);
Usuwa wszystkie komunikaty z potoku.
FUNCTION DBMS_PIPE.RECEIVE_MESSAGE
(nazwa_potoku IN VARCHAR2,
czas_oczekiwania IN INTEGER DEFAULT MAXWAIT)
RETURN INTEGER;
Odbiera komunikat z potoku do bufora komunikatu sesji, oczekując do
czas_oczekiwania sekund na pomyślne zakończenie operacji. Zwraca 0 w
przypadku sukcesu lub 1 przy przekroczeniu czasu oczekiwania.
FUNCTION DBMS_PIPE.REMOVE_PIPE
(nazwa_potoku IN VARCHAR2) RETURN INTEGER;
Usuwa potok nazwa_potoku i zwalnia pamięć do obszaru współdzielonego.
Zwraca wartość 0.
PROCEDURE DBMS_PIPE.RESET_BUFFER;
Resetuje wskazniki zapakowania i wypakowania dla bufora komunikatu sesji, co
efektywnie kasuje zawartość bufora.
FUNCTION DBMS_PIPE.SEND_MESSAGE (nazwa_potoku IN
VARCHAR2,
czas_oczekiwania IN INTEGER DEFAULT MAXWAIT,
max_rozm_potoku IN INTEGER DEFAULT 8192)
RETURN INTEGER;
Przesyła zawartość bufora komunikatu sesji do potoku nazwa_potoku, oczekując
na pomyślne zakończenie przez czas_oczekiwania i opcjonalnie zwiększa
maksymalny rozmiar potoku na max_rozm_potoku. Zwraca 0 w przypadku
sukcesu i l przy przekroczeniu czasu oczekiwania.
FUNCTION DBMS_PIPE.UNIQUE_SESSION_NAME
RETURN VARCHAR2;
Zwraca identyfikator tekstowy unikatowy dla sesji o długości do 30 bajtów.
PROCEDURE DBMS_PIPE.UNPACK_MESSAGE
(element OUT VARCHAR2 | NUMBER | DAT);
Wypakowuje kolejny element danych w buforze komunikatu do element,
powodując przeładowanie typu danych zmiennej element.
PROCEDURE DBMS_PIPE.UNPACK_MESSAGE_RAW (element OUT
RAW);
Wypakowuje kolejny element danych w buforze komunikatu do zmiennej
element, gdy jest typu RAW.
PROCEDURE DBMS_PIPE.UNPACK_MESSAGE_ROWID (element OUT
ROWID);
Wypakowuje kolejny element danych w buforze komunikatu do zmiennej
element, gdy jest typu ROWID.
DBMS_RANDOM
Pakiet DBMS_RANDOM zapewnia mechanizm generacji liczb losowych (tylko
dla systemu Oracle8).
PROCEDURE DBMS_RANDOM.INITIALIZE (ziarno IN
BINARY_INTEGER);
Inicjalizuje generator liczb losowych wartością określoną w ziarno, która
powinna mieć co najmniej pięć cyfr.
FUNCTION DBMS_RANDOM.RANDOM
RETURN BINARY_INTEGER;
Zwraca całkowitą wartość losową z generatora liczb losowych.
PROCEDURE DBMS_RANDOM.SEED
(ziarno IN BINARY_INTEGER);
Zmienia wartość ziarna generatora liczb losowych na ziarno, które powinno mieć
co najmniej pięć cyfr.
PROCEDURE DBMS_RANDOM.TERMINATE;
Zwalnia zasoby wykorzystywane przez generator liczb losowych.
DBMS_ROWID
Pakiet DBMS_ROW1D dostarcza podprogramy zapewniające obsługę
identyfikatorów ROWID. Identyfikator ROWID zmienił strukturę w systemie
Oracle8 i w jego przypadku ten dodatek obsługuje zarówno stary, jak i nowy
format ROWID.
Identyfikator ROWID dla Oracle7 (ograniczony) ma trzy części składowe (znaki
kodowane w systemie 16, hex):
BBBBBBBB.RRRR.FFFF
Identyfikator ROWID dla Oracle8 (rozszerzony) ma cztery części składowe
(znaki kodowane w systemie 64):
OOOOOOFFFBBBBBBRRR
gdzie:
OOOOOO jest numerem obiektu.
FFFF (FFF) jest absolutnym (V7) lub relatywnym (V8) numerem pliku.
BBBBBBBB (BBBBBB) jest numerem bloku w obrębie pliku. RRRR (RRR) jest
numerem wiersza w obrębie bloku.
FUNCTION DBMS_ROWID.ROWID_BLOCK_NUMBER
(id_wiersza IN ROWID)
RETURN NUMBER;
Zwraca składnik numeru bloku dla id_wiersza.
FUNCTION DBMS_ROWID.ROWID_CREATE
(typ_id_wiersza IN NUMBER,
numer_obiektu IN NUMBER,
relatywny_numer_pliku IN NUMBER,
numer_bloku IN NUMBER,
numer_wiersza IN NUMBER)
RETURN ROWID;
Tworzy identyfikator ROWID typu typ_id_wiersza zło\ony z numer_obiektu,
relatywny_numer_pliku, numer_bloku oraz numer_wiersza.typ_id_wiersza mo\e
być określony jako ROWID_TYPE_EXTENDED lub
ROWID_TYPE_RESTRICTED. Numer_obiektu mo\e stanowić
ROWID_OBJECT_UNDEFINED lub numer obiektu (OID).
PROCEDURE DBMS_ROWID.ROWID_INFO (rowid IN ROWID,
rowid_type OUT NUMBER, object_number OUT NUMBER,
relative_fno OUT NUMBER, block_number OUT NUMBER,
row_number OUT NUMBER) ;
Dokonuje rozbioru elementu rowid na poszczególne składowe. id_wiersza mo\e
być określony jako ROWID_TYPE_EXTENDED lub
ROWID_TYPE_RESTRICTED. Numer_obiektu mo\e stanowić
ROWID_OBJECT_UNDEFINED lub numer obiektu (OID).
FUNCTION DBMS_ROWID.ROWID_OBJECT
(row_id IN ROWID) RETURN NUMBER;
Zwraca wartość dla składnika numeru obiektu dla row_id.
FUNCTION DBMS_ROWID.ROWID_RELATIVE_FNO
(row_id IN ROWID) RETURN NUMBER;
Zwraca wartość dla składnika relatywnego numeru pliku dla row_id.
FUNCTION DBMS_ROWID.ROWID_ROW_NUMBER
(row_id IN ROWID) RETURN NUMBER;
Zwraca wartość dla składnika numeru wiersza dla row_id.
FUNCTION DBMS_ROWID.ROWID_TO_ABSOLUTE_FNO
(row_id IN ROWID,
nazwa_schematu IN VARCHAR2,
nazwa_obiektu IN VARCHAR2)
RETURN NUMBER;
Zwraca absolutny numer pliku dla row_id, nazwa_schematu i nazwa_obiektu.
FUNCTION DBMS_ROWID.ROWID_TO_EXTENDED
(stary_rowid IN ROWID,
nazwa_schematu IN VARCHAR2, nazwa_obiektu IN VARCHAR2,
typ_konwersji IN INTEGER)
RETURN ROWID;
Zwraca rozszerzony ROWID dla ograniczonego stary_ rowid, nazwa_schematu i
nazwa_obiektu, korzystając z typ_konwersji. typ_konwersji mo\e być albo
ROWID _CONVERT_INTERNAL (ROWID był przechowywany w kolumnie
typu ROWlD) lub ROWID_CONVERT_ EXTERNAL (ROWID był
przechowywany w kolumnie typu CHAR/VARCHAR/VARCHAR2).
FUNCTION DBMS_ROWID.ROWID_TO_RESTRICTED
(stary_rowid IN ROWID,
typ_konwersji IN INTEGER) RETURN ROWID;
Zwraca ograniczony ROWID dla rozszerzonego stary_rowid, korzystając z
typ_konwersji. typ_konwersji mo\e być albo ROWID_CONVERT_INTERNAL
(ROWID będzie przechowywany w kolumnie typu ROWID) lub
ROWID_CONVERT_EXTERNAL (ROWID będzie przechowywany w
kolumnie typu CHAR/VARCHAR/VARCHAR2).
FUNCTION DBMS_ROWID.ROWID_TYPE
(row_id IN ROWID) RETURN NUMBER;
Zwraca rodzaj ROWID dla row_id: ROWID_TYPE_EXTENDED lub
ROWID_TYPE_ RESTRICTED.
FUNCTION DBMS_ROWID.ROWID_VERIFY
(rowid IN ROWID,
nazwa_schematu IN VARCHAR2,
nazwa_obiektu IN VARCHAR2,
typ_konwersji IN INTEGER) RETURN NUMBER;
Zwraca ROWlD_VALID lub ROWID_INVALID dla rowid, nazwa_schematu i
nazwa_obiektu, korzystając z typ_konwersji. typ_konwersji mo\e być albo
ROWlD_CONVERT_ INTERNAL (ROWID był przechowywany w kolumnie
typu ROWID) lub ROWID_CONVERT_EXTERNAL (ROWID był
przechowywany w kolumnie typu CHAR/VARCHAR/VARCHAR2).
DBMS_SESSION
Pakiet DBMS_SESSION obejmuje metody pozwalające na modyfikacje
ustawień sesji, włączanie lub wyłączanie ról oraz zarządzanie zasobami sesji.
PROCEDURE DBMS_SESSION.CLOSE_DATABASE_LINK
(dblink IN VARCHAR2);
Zamyka łącze bazy danych lub wywołuje wyjątek, jeśli łącze nie jest otwarte lub
jest w u\yciu.
PROCEDURE DBMS_SESSION.FREE_UNUSED_USER_MEMORY;
Zwalnia wolną pamięć sesji do zasobów systemu operacyjnego (w przypadku
połączenia dedykowanego) lub do obszaru współdzielonego Oracle (w przypadku
połączenia współdzielonego).
FUNCTION DBMS_SESSION.IS_ROLE_ENABLED
(nazwa_roli IN VARCHAR2)
RETURN BOOLEAN;
Zwraca wartość TRUE, jeśli rola nazwa_roli jest dostępna dla bie\ącej sesji.
FUNCTION DBMS_SESSION.IS_SESSION_ALIVE
(unikalny_id IN VARCHAR2)
RETURN BOOLEAN;
Zwraca wartość TRUE, jeśli sesja identyfikowana przez unikalny_id nadal
istnieje (tylko dla systemu Oracle8).
PROCEDURE DSMS_SESSION.RESET_PACKAGE;
Resetuje stan wszystkich pakietów dla sesji, niszcząc wartości wszystkich
istniejących zmiennych pakietów.
PROCEDURE DBMS_SESSION.SET_CLOSE_CACHED_OPEN_CURSORS
(kursor IN BOOLEAN);
Nadpisuje parametr bazy danych CLOSE_CACHED_ OPEN_CURSORS na
poziomie sesji na wartość kwsor.
PROCEDURE DBMS_SESSION.SET_LABEL (etykieta IN VARCHAR2);
Ustawia etykietę etykieta sesji dla sesji systemu Trusted Oracle.
PROCEDURE DBMS_SESSION.SET_MLS_LABEL_FORMAT (format IN
VARCHAR2);
Ustawia domyślny format etykiety sesji systemu Trusted Oracle na format.
PROCEDURE DBMS_SESSION.SET MLS (parametr IN VARCHAR2,
wartość IN VARCHAR2);
Ustawia parametr NLS (National Language Support) na wartość. Gdy wartość
jest maską formatu, nale\y u\yć potrójnego znaku cudzysłowu dla łańcucha
znakowego.
PROCEDURE DBMS_SESSION.SET_ROLE
(polecenie_roli IN VARCHAR2);
Włącza role (role) poprzez dołaczeme polecenie_roli do polecenia SET_ROLE i
jego wykonanie. Pozwala na wyłączenie wszystkich ról poprzez ustawienie
polecenie_roli na NONE.
PROCEDURE DBMS_SESSION.SET_SQL_TRACE (śledzenie_sql IN
BOOLEAN);
Włącza lub wyłącza śledzenie SQL dla sesji zgodnie z parametrem śledzenie_sql
(TRUE = włączenie. FALSE = wyłączenie).
FUNCTION DBMS_SESSICN.UNIQUE_SESSICN_ID
RETURN VARCHAR2;
Zwraca łańcuch znakowy identyfikujący jednoznacznie sesję o długości do 24
bajtów.
DBMS_ SHARED_POOL
Pakiet DBMS_SHARED_POOL zawiera programy ułatwiające zarządzaniem
obszarem współdzielonym Oracle Shared Global Area (SGA).
PROCEDURE
DBMS_SHARED_POOL.ABORTED_REQUEST_THRESHOLD
(próg IN NUMBER);
Określa maksymalny rozmiar obiektu, dla którego z obszaru współdzielonego
zostaną usunięte inne obiekty dla uzyskania większej przestrzeni. Próba
załadowania obiektów większych od wartości próg spowoduje wywołanie błędu
ORA-04031 w przypadku braku wystarczającej przestrzeni.
PROCEDURE DBMS_SHARED_POOL.KEEP (nazwa IN VARCHAR2,
flaga IN CHAR DEFAULT 'P');
Powoduje zablokowanie obiektu nazwa w obszarze współdzielonym. Typ obiektu
jest identyfikowany poprzez wartość flaga: P lub p dla pakietu, procedury lub
funkcji, Q lub q dla sekwencji oraz R lub r dla wyzwalaczy. Podanie dowolnego
innego znaku dla flagi pozwala zablokować kursor identyfikowany przez adres i
wartość funkcji haszującej (z V$SQLAREA) podanej w nazwa.
PROCEDURE DBMS_SHARED_POOL.SIZES
(rozmiar_min IN NUMBER);
Wyświetla obiekty i kursory umieszczone w SGA. których rozmiar przekracza
rozmiar_min w kilobajtach.
PROCEDURE DBMS_SHARED_POOL.UNKEEP
(nazwa IN VARCHAR2, flaga IN CHAR DEFAULT 'P');
Odblokowuje w obszarze współdzielonym obiekt typu flaga identyfikowany
poprzez nazwa.
Dopuszczalne wartości dla flaga są takie same, jak w przypadku
DBMS_SHARED_POOL.KEEP.
DBMS_SPACE
Pakiet DBMS_SPACE zawiera procedury obsługujące u\ycie wewnętrznych
przestrzeni i informacji na temat list freelist dla tabel, indeksów i segmentów
klastrów.
PROCEDURE DBMS_SPACE.FREE_BLOCKS
(właściciel_segmentu IN VARCHAR2, nazwa_segmentu IN
VARCHAR2, typ_segmentu IN VARCHAR2, id_grupy_freelist IN
NUMBER, wolne_bloki OUT NUMBER, skan_limit IN NUMBER
DEFAULT NULL [,nazwa_partycji IN VARCHAR2 DEFAULT NULL]);
Zwraca w wolne_bloki liczbę bloków w liście freelist dla segmentu
nazwa_segmentu, typ typ_segmentu (TABLE. INDEX lub CLUSTER), którego
właścicielem jest właściciel_segmentu w partycji nazwa_partycji (opcjonalnie i
tylko dla systemu Oracle8). Opcjonalny parametr skan_limit ogranicza liczbę
skanowanych wolnych bloków.
PROCEDURE DBMS_SPACE.UNUSED_SPACE
(własciciel_segmentu IN VARCHAR2, nazwa_segmentu IN
VARCHAR2,
typ_segmentu IN VARCHAR2, razem_bloki OUT NUMBER,
razen_bajty OUT NUMBER,
nieu\ywane_bloki OUT NUMBER,
nieu\ywane_bajty OUT NUMBER,
id_pliku_ostatnio_uzywanego_ekstentu OUT NUMBER,
id_bloku_ostatnio_uzywanego_ekstentu OUT NUMBER,
ostatnio_u\ywany_blok OUT NUMBER [,nazwa_partycji IN
VARCHAR2 DEFAULT NULL]);
Zwraca wartość znaku highwater (id_pliku_ostatnio_u\ywanego_ekstentu,
id_bloku_ostatnio_u\ywanego_ekstentu oraz ostatnio_u\ywany_blok), zu\ytą
przestrzeń (razem_bloki, razem_bajty) oraz nieu\ywaną przestrzeń
(nieu\ywane_blok, nieu\ywane_bajty) w segmencie nazwa_segmentu typu
typ_segmentu (TABLE. INDEX lub CLUSTER), którego właścicielem jest
właściciel_segmentu w partycji nazwa_partycji (opcjonalnie i tylko dla systemu
Oracle8).
DBMS_SQL
Pakiet DBMS_SQL dostarcza podprogramy pozwalające korzystać z
dynamicznych poleceń SQL w obrębie bloków PL/SQL. Dla systemu Oracle8
jest to podprogram, który zapewnia obsługę operacji na tablicach w PL/SQL.
PROCEDURE DBMS_SQL.BIND_ARRAY
(kursor IN INTEGER, nazwa IN VARCHAR2,

[,index1 IN INTEGER, index2 IN INTEGER]);
Wią\e tablicę tabela ze zmienną wiązaną w parsowanym (ale niewykonanym)
poleceniu SQL w kursorze kursor (zwróconym przez wywołanie
OPEN_CURSOR). Dla systemu Oracle8 procedura jest wykorzystywana do
przetwarzania tablicy. mo\e przyjmować postać:
n_tab IN DBMS_SQL.NUMBER_TABLE
c_tab IN DBMS_SQL.VARCHAR2_TABLE
d_tab IN DBMS_SQL.DATE_TABLE
bl_tab IN DBMS_SQL.BLOB_TABLE
cl_tab IN DBMS_SQL.CLOB_TABLE
bf_tab IN DBMS_SQL.BFILE_TABLE
Opcjonalny argument index1 określa dolną granicę (pierwszy wiersz) w obrębie
tabeli, a index2 określa górną granicę (ostatni wiersz). Tylko dla systemu Oracle8.
PROCEDURE DBMS_SQL.BIND_VARIABLE
(kursor IN INTEGER, nazwa IN VARCHAR2,
wartość IN NUMBER | VARACHAR2 | DATE | BLOB | CLOB
CHARACTER SET ANY_CS | BFILE [ , oczekiwany_rozmiar IN
INTEGER]);
Wią\e wartość skalarną ze zmienną wiązaną w parsowanym poleceniu SQL w
kursorze kursor. opcjonalnie mo\na określić maksymalny oczekiwany rozmiar
określony w oczekiwany_rozmiar.
PROCEDURE DBMS_SQL.BIND_VARIABLE_CHAR
(kursor in INTEGER,
nazwa IN VARCHAR2,
wartość IN CHAR CHARACTER SET ANY_CS
[ , oczekiwany_rozmiar IN INTEGER]);
Wią\e skalarną wartość CHAR/NCHAR ze zmienną wiązaną w parsowanym
poleceniu SQL w kursorze kursor, opcjonalnie mo\na określić maksymalny
oczekiwany rozmiar określony w oczekiwany_rozmiar.
PROCEDURE DBMS_SQL.BIND_VARIABLE_RAW
(kursor IN INTEGER, nazwa IN VARCHAR2, wartość IN RAM
[ , oczekiwany rozmiar IN INTEGER]);
Wią\e skalarną wartość RAW ze zmienną wiązaną w parsowanym poleceniu
SQL w kursorze kursor (zwróconym przez wywołanie OPEN_CURSOR),
opcjonalnie mo\na określić maksymalny oczekiwany rozmiar określony w
oczekiwany_rozmiar.
PROCEDURE DBMS_SQL.BIND_VARIABLE_ROWID (kursor IN
INTEGER, nazwa IN VARCHAR2, value IN ROWID);
Wią\e skalarną wartość RAW ze zmienną wiązaną w parsowanym poleceniu
SQL w kursorze kursor.
PROCEDURE DBMS_SQL.CLOSE_CURSOR (kursor IN OUT INTEGER);
Zamyka kursor kursor.
PROCEDURE DBMS_SQL.COLUMN_VALUE
(kursor IN INTEGER, pozycja IN INTEGER, wartość OUT NUMBER
| VARCHAR | DATE | BLOB | CLOB CHARACTER SET ANY_CS | BFILE
| MLSLABEL
[,błąd_kolumny OUT NUMBER
[,rzeczywista_długosć OUT INTEGER]]);
Przenosi zawartość kolumny numer pozycja w liście polecenia SELECT z
pobranego kursora kursor do zmiennej wartość, opcjonalnie ustawiając
rzeczywista_długość na długość w bajtach przed obcięciem oraz błąd_kolumny na
kod błędu dla określonej wartości. Obcięcie mo\e być skutkiem ró\nicy w
rozmiarze pobranej wartości w kursorze i rozmiarze zmiennej. MLSLABEL
mo\e być stosowane jedynie dla systemu Trusted Oracle.
PROCEDURE DBMS_SQL.COLUMN_VALUE (kursor IN INTEGER,
pozycja IN INTEGER, );
Przenosi zawartość kolumny numer pozycja, typu tablica w liście polecenia
SELECT z pobranej tablicy z kursora kursor do tabeli PL/SQL. Tylko dla
systemu Oracle8, parametr_tabeli i typ_tabeli mo\e przyjmować wartość:
n_tab IN DBMS_SQL.NUMBER_TABLE
c_tab IN DBMS_SQL.VARCHAR2_TABLE
d_tab IN DBMS_SQL.DATE_TABLE
bl_tab IN DBMS_SQL.BLOB_TABLE
cl_tab IN DBMS_SQL.CLOB_TABLE
bf_tab IN DBMS_SQL.BFILE_TABLE
PROCEDURE DBMS_SQL.COLUMN_VALUE_CHAR
(kursor IN INTEGER, pozycja IN INTEGER, wartość OUT CHAR
CHARACTER SET ANY_CS
[,błąd_kolumny OUT NUMBER
[,rzeczywista_długość OUT INTEGER]]);
Przenosi zawartość kolumny numer porcja w liście polecenia SELECT
pobranego kursora kursor do zmiennej CHAR/ NCHAR wartość, opcjonalnie
ustawiając rzeczywista_dlugość na długość w bajtach przed obcięciem oraz
błąd_columny na kod błędu dla określonej wartości. Obcięcie mo\e być skutkiem
ró\nicy w rozmiarze pobranej wartości w kursorze i rozmiarze zmiennej.
PROCEDURE DBMS_SQL.COLUMN_VALUE_LONG
(kursor IN INTEGER, pozycja IN INTEGER, długość IN
INTEGER, offset IN INTEGER, wartość OUT VARCHAR2,
długość_wartości OUT INTEGER);
Przenosi zawartość kolumny numer pozycja w liście polecenia SELECT
pobranego kursora kursor do zmiennej wartość VARCHAR2, rozpoczynając od
pozycji offset w bajtach w kolumnie LONG i długości długość bajtów. Ustawia
równie\ długość_wartości na rzeczywistą długość pobranej wartości.
PROCEDURE DBMS_SQL.COLUMN_VALUE_RAW
(kursor IN INTEGER, pozycja IN INTEGER, wartość OUT RAW
[, błąd_kolumny OUT NUMBER
[,długość_kolumny OUT INTEGER]]);
Przenosi zawartość kolumny numer pozycja w liście polecenia SELECT z
pobranego kursora kursor do zmiennej RAW wartość, opcjonalnie ustawiając
rzeczywista_dtugość na długość w bajtach przed obcięciem oraz bląd_kolumny na
kod błędu dla określonej wartości. Obcięcie mo\e być skutkiem ró\nicy w
rozmiarze pobranej wartości w kursorze i rozmiarze zmiennej.
PROCEDURE DBMS_SQL.COLUMN_VALUE_ROWID
(kursor IN INTEGER, pozycja IN INTEGER,
wartość OUT ROWID
[,column_error OUT NUMBER
[,actuai_length OUT INTEGER]]);
Przenosi zawartość kolumny numer pozycja w liście polecenia SELECT z
pobranego kursora kursor do zmiennej ROWID wartość, opcjonalnie ustawiając
rzeczywista_długość na długość w bajtach przed obcięciem oraz błąd_kolumny na
kod błędu dla określonej wartości. Obcięcie mo\e być skutkiem ró\nicy w
rozmiarze pobranej wartości w kursorze i rozmiarze zmiennej.
PROCEDURE DBMS_SQL.DEFINE_ARRAY
( kursor IN INTEGER, pozycja IN INTEGER, IN typ_tabeli>, liczba IN INTEGER, dolna_granica IN
INTEGER);
Definiuje typ danych i rozmiar elementów tablicy pobierania dla kolumny numer
pozycja w liście polecenia SELECT kursora kursor jako taki sam typ danych i
rozmiar tabeli zagnie\d\onej parametr_tabeli, rozpoczynając od wiersza
dolna_granica, przy maksymalnym rozmiarze tablicy liczba wierszy. Tylko dla
systemu Oracle8, parametr_tabeli i typ_tabeli mo\e przyjmować wartość:
n_tab IN DBMS_SQL.NUMBER_TABLE
c_tab IN DBMS_SQL.VARCHAR2_TABLE
d_tab IN DBMS_SQL.DATE_TABLE
bl_tab IN DBMS_SQL.BLOB_TABLE
cl_tab IN DBMS_SQL.CLOB_TABLE
bf_tab IN DSMS_SQL.BFILE_TABLE
PROCEDURE DBMS_SQL.DEFINE_COLUMN
(kursor IN INTEGER,
pozycja IN INTEGER,
kolumna IN NUMBER | DATE | BLOB | CLOB CHARACTER SET ANY_CD
| BFILE | MLSLABEL);
Zmienna lub wyra\enie kolumna definiuje typ danych dla kolumny numer
pozycja w liście polecenia SELECT kursora kursor. MLSLABEL mo\e
występować jedynie dla systemu Trusted Oracle.
PROCEDURE DBMS_SQL.DEFINE_COLUMN
(kursor IN INTEGER,
pozycja IN INTEGER,
kolumna IN VARCHAR2 CHARACTER SET ANY_CS,
rozm_kolumny IN INTEGER);
Zmienna lub wyra\enie kolumna definiuje typ danych jako
VARCHAR2/NVARCHAR2, a rozmiar jako rozm_kolumy w znakach dla
kolumny numer pozycja w liście polecenia SELECT kursora kursor.
PROCEDURE DBMS_SQL.DEFINE_COLUMN_CHAR
(c IN INTEGER, pozycja IN INTEGER, kolumna IN CHAR
CHARACTER SET AHY_CS,
rozm_kolumny IN INTEGER);
Zmienna lub wyra\enie kolumna definiuje typ danych jako CHAR/NCHAR. a
rozmiar jako rozm_kolumny w znakach dla kolumny numer pozycja w liście
polecenia SELECT kursora kursor.
PROCEDURE DBMS_SQL.DEFINE_COLUMN_LONG
(kursor IN INTEGER, pozycja IN INTEGER);
Definiuje typ danych jako LONG dla kolumny numer pozycja w liście polecenia
SELECT kursora kursor.
PROCEDURE DBMS_SQL.DEFINE_COLUMN_RAW
(kursor IN INTEGER, pozycja IN INTEGER, kolumna IN RAW,
rozm_kolumny IN INTEGER);
Zmienna lub wyra\enie kolumna definiuje typ danych jako RAW, a rozmiar jako
rozm_kolumny dla kolumny numer pozycja w liście polecenia SELECT kursora
kursor.
PROCEDURE DBMS_SQL.DEFINE_COLUMN_ROWID
(kursor IN INTEGER, pozycja IN INTEGER, kolumna IN ROWID);
Zmienna lub wyra\enie kolumna definiuje typ danych jako ROWID dla kolumny
numer pozycja w liście polecenia SELECT kursora kursor.
PROCEDURE DBMS_SQL.DESCRIBE_COLUMNS
(kursor IN INTEGER, ilość_kolumn OUT INTEGER,
tabela_opisu OUT DESC_TAB);
Wypełnia tabele PL/SQL SQL tabela_opisu typu DBMS_SQL.DESC REC
opisem kolumn kursora kursor. ilość_kolumn określa liczbę kolumn kursora
kursor oraz liczbę wierszy tabeli tabela_opisu.
FUNCTION DBMS_SQL.EXECUTE
(kursor IN INTEGER)
RETURN INTEGER;
Dla poleceń 1NSERT, UPDATE oraz DELETE zwraca ilość wierszy wyniku
wykonania kursora kursor. Dla wszystkich pozostałych poleceń SQL wykonuje
kursor i zwraca wartość nieokreśloną.
FUNCTION DBMS_SQL.EXECUTE_AND_FETCH
(kursor IN INTEGER,
dokładnie jeden IN BOOLEAN DEFAULT FALSE)
RETURN INTEGER;
Zwraca ilość pobranych wierszy po wykonaniu kursora kursor. Gdy parametr
dokładnie_jeden ma wartość TRUE, a wykonanie zwróci więcej ni\ jeden wiersz,
to wystąpi wyjątek. By uzyskać wiele wierszy, wymagany jest system Oracle8
oraz przetwarzanie tablicowe.
FUNCTION DBMS_SQL.FETCH_ROWS
(kursor IN INTEGER)
RETURN INTEGER;
Pobiera i zwraca ilość wierszy pobranych z kursora kursor lub wartość zero, jeśli
nie ma więcej wierszy do pobrania.
FUNCTION DBMS_SQL.IS_OPEN
(kursor IN INTEGER)
RETURN BOOLEAN;
Zwraca wartość TRUE, jeśli kursor jest otwarty, lub FALSE w przeciwnym
przypadku.
FUNCTION DBMS_SQL.LAST_ERROR_POSITICN
RETURN INTEGER;
Zwraca pozycję w bajtach w poleceniu SQL, gdzie wystąpił ostatni błąd. Musi
zostać wywołana natychmiast po EXECUTE lub EXECUTE_AND_FETCH
(zwykle w programie obsługi wyjątku).
FUNCTION DBMS_SQL.LAST_ROW_COUNT
RETURN INTEGER;
Zwraca całkowitą ilość pobranych; jest podobna do atrybutu %ROWCOUNT
statycznego kursora.
FUNCTION DBMS_SQL.LAST_ROW_ID
RETURN ROWID;
Zwraca wartość ROWID ostatnio pobranego wiersza. Musi zostać wywołana
natychmiast po EXECUTE lub EXECUTE_AND_FETCH.
FUNCTION DBMS_SQL.LAST_SQL_FUNCTION_CODE
RETURN INTEGER;
Zwraca kod funkcji SQL dla polecenia SQL. Pełna lista kodów funkcji znajduje
się w dokumentacji Oracle Corporation s Server Reference Manual w sekcji
poświęconej kolumnie tabeli V$SESSION.COMMAND.
FUNCTION DBMS_SQL.OPEN_CURSOR
RETURN INTEGER;
Zwraca wskaznik typu INTEGER do obszaru pamięci zaalokowanego na
dynamiczny kursor.
PROCEDURE DBMS_SQL.PARSE (kursor IN INTEGER, polecenie IN
VARCHAR2, flaga_języka IN INTEGER);
Realizuje operację parsowania polecenia SQL o rozmiarze mniejszym od 32 kB
(w bajtach) i powiązuje je z kursorem kursor, korzystając z mechanizmów
określonych parametrem flaga_języka (DBMS_SQL.NATIVE, DBMS_SQL.V7
lub DBMS_SQL.V6). Nie nale\y kończyć tekstów polecenia SQL znakiem
średnika, chyba \e jest to blok PL/SQL. Dla poleceń DDL (np. TRUNCATE
TABLE) procedura powoduje wykonanie polecenia.
PROCEDURE DBMS_SQL.PARSE
(kursor IN INTEGER,
polecenie IN VARCHAR2S,
wiersz1 IN INTEGER,
wiersz2 IN INTEGER,
nowa_linia IN BOOLEAN,
flaga_języka IN INTEGER);
Realizuje operację parsowania polecenia SQL zawartego w wierszach od wiersz1
do wiersz2 w tablicy PL/SQL i powiązuje je z kursorem kursor, korzystając z
mechanizmów określonych parametrem flaga_języka (DBMS_SQL.NATIVE,
DBMS_SQL.V7 lub DBMS_SQL.V6). Dołącza znak nowej linii po ka\dym
wierszu, jeśli parametr nowa_linia ma wartość TRUE.
PROCEDURE DBMS_SQL.VARIABLE_VALUE
(kursor IN INTEGER, nazwa IN VARCHAR2,
wartość OUT NUMBER | VARCHAR2 | DATE | BLOB | CLOB
CHARACTER SET ANY_CS | BFILE | MLSLABEL);
Pobiera wartość zmiennej nazwa kursora kursor do zmiennej PL/SQL wartość.
MLSLABEL mo\e być u\ywany jedynie dla systemu Trusted Oracle.
PROCEDURE DBMS_SQL.VARIABLE_VALUE
(kursor IN INTEGER,
nazwa IN VARCHAR2,
wartość IN );
Pobiera wartość zmiennej nazwa kursora kursor do tabeli PL/SQL wartość. Tylko
dla systemu Oracle8, typ_tabeli mo\e być:
DBMS_SQL.NUMBER_TABLE
DBMS_SQL.VARCHAR2_TABLE
DBMS_SQL.DATE_TABLE
DBMS_SQL.BLOB_TABLE
DBMS_SQL.CLOB_TABLE
DBMS_SQL.BFILE_TABLE
PROCEDURE DBMS_SQL.VARIABLE_VALUE_CHAR
(kursor IN INTEGER, nazwa IN VARCHAR2, wartość OUT CHAR
CHARACTER SET ANY_CS);
Pobiera wartość zmiennej nazwa kursora kursor do zmiennej CHAR/NCHAR
PL/SQL wartość.
PROCEDURE DBMS_SQL.VARIABLE_VALUE_RAW
(kursor IN INTEGER,
nazwa IN VARCHAR2,
wartość OUT RAW);
Pobiera wartość zmiennej nazwa kursora kursor do zmiennej RAW wartość.
PROCEDURE DBMS_SQL.VARIABLE_VALUE_ROWID
(kursor IN INTEGER,
nazwa IN VARCHAR2,
wartość OUT ROWID);
Pobiera wartość zmiennej nazwa kursora kursor do zmiennej ROWID wartość.
DBMS_STANDARD
Pakiet DBMS_STANDARD zawiera rozszerzenia pakietu STANDARD. Są to
funkcje i procedury do u\ytku w wyzwalaczach do obsługi transakcji. Te funkcje
i procedury, podobnie jak w pakiecie STANDARD, nie wymagają kwalifikacji
właściciel czy nazwa pakietu i zwykle są traktowane jako część języka PL/SQL.
PROCEDURE DBMS_STANDARD.RAISE_APPLICATION_ERROR
(numer BINARY_INTEGER,
komunikat VARCHAR2,
zachowaj_stos_błędu boolean default FALSE);
Wywołuje z programu magazynowanego wyjątek PL/SQL numer z tekstem
komunikatu komunikat. Błąd mo\e zostać umieszczony z innymi błędami na
stosie, jeśli parametr zachowaj_stos_błędu ma wartość TRUE; domyślnie
zawartość stosu jest zapisywana dla pojedynczego wyjątku. Parametr numer ma
zakres od -20999 do -20000. a komunikat mo\e mieć rozmiar maksymalnie do
2048 bajtów.
FUNCTION INSERTING RETURN boolean;
FUNCTION DELETING RETURN boolean;
FUNCTION UPDATING RETURN boolean;
FUNCTION UPDATING (nazwa_kolumny VARCHAR2)
RETURN boolean;
Predykaty warunkowe u\ywane do określenia rodzaju operacji Data
Manipulation Language (DML). która spowodowała wyzwolenie wyzwalacza.
Funkcje te mają zastosowanie jedynie w obrębie wyzwalaczy, na przykład  ...IF
INSERTING THEN...
PROCEDURE COMMIT;
PROCEDURE COMMIT_CM (vc VARCHAR2);
PROCEDURE ROLLBACK_NR;
PROCEDURE ROLLBACK_SV(punkt_zachowania VARCHAR2);
PROCEDURE SAVEPOINT(punkt_zachowania VARCHAR2);
PROCEDURE SET_TRANSACTION_USE(vc VARCHAR2);
Procedury te obsługują mechanizm transakcji. Są analogiczne do poleceń SQL:
COMMIT, COMMIT COMMENT, ROLLBACK, ROLLBACK TO
SAVEPOINT, SAVEPOINT oraz SET TRANSACTION USE ROLLBACK
SEGMENT.
DBMS_SYSTEM
Pakiet DBMS SYSTEM zawiera procedury obsługujące mechanizmy śledzenia
wewnętrznych zdarzeń, co obejmuje śledzenie SQL na poziomie sesji.
PROCEDURE DBMS_SYSTEM.READ_EV
( zdarzenie_we BINARY_INTEGER, zdarzenie_wy OUT
BINARY_INTEGER);
Zwraca w zmiennej zdarzenie_wy ustawienia poziomu zdarzenia dla bie\ącej
sesji dla zdarzenia śledzenia numer zdarzenie_we.
PROCEDURE DBMS_SYSTEM.SET_EV
(sid BINARY_INTEGER,
num_ser BINARY_INTEGER,
zdarzenie BINARY_INTEGER,
poziom BINARY_INTEGER, nazwa IN VARCHAR2);
Ustawia poziom dla zdarzenia numer zdarzenie w sesji identyfikowanej przez
wartość sid i numer seryjny num_ser na podaną wartość poziom. Zmienna nazwa
określa nazwę zdarzenia.
PROCEDURE DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION
(sid IN NUMBER,
num_ser IN NUMBER,
śledzenie_sql IN BOOLEAN);
Włącza lub wyłącza śledzenie SQL dla sesji identyfikowanej przez sid i numer
seryjny num_ser zgodnie z wartością parametru śledzenie_sql (TRUE = włącza;
FALSE = wyłącza).
DBMS_ TRANSACTION
Pakiet DBMS TRANSACTION zawiera szereg programów do obsługi i
zarządzania transakcjami lokalnymi i rozproszonymi.
PROCEDURE DBMS_TRANSACTION.ADVISE_COMMIT;
Zaleca odległym bazom danych wykonanie zatwierdzenia wątpliwych transakcji
rozproszonych (ang. in-doubt distributed transactions), jeśli jest to mo\liwe.
PROCEDURE DBMS_TRANSACTION.ADVISE_NOTHING;
Usuwa zalecenia dla odległych baz danych związane z wątpliwymi transakcjami
rozproszonymi.
PROCEDURE DBMS_TRANSACTION.ADVISE_ROLLBACK;
Zaleca odległym bazom danych wykonanie wycofania wątpliwych transakcji
rozproszonych (ang. in-doubt distributed transactions).
PROCEDURE
DBMS_TRANSACTION.BEGIN_DISCRETE_TRANSACTION;
Wymusza u\ycie mechanizmu dyskretnego przetwarzania transakcji dla bie\ącej
transakcji.
PROCEDURE DBMS_TRANSACTION.COMMIT;
Realizuje zatwierdzenie bie\ącej transakcji.
PROCEDURE DBMS_TRANSACTION.COMMIT_COMMENT
(kom IN VARCHAR2);
Zatwierdza bie\ącą transakcję i przesyła kom jako komentarz wątpliwej transakcji
do odległych baz danych podczas rozproszonych transakcji.
PROCEDURE DBMS_TRANSACTION.COMMIT_FORCE
(id IN VARCHAR2 [,scn IN VARCHAR2 DEFAULT NULL)];
Wymusza zatwierdzenie lokalnej części wątpliwej rozproszonej transakcji
identyfikowanej przez identyfikator transakcji id i opcjonalnie przez numer SCN
(System Change Number) scn.
FUNCTION DBMS_TRANSACTION.LOCAL_TRANSACTION_ID
(twórz_transakcję IN BOOLEAN := FALSE)
RETURN VARCHAR2;
Zwraca unikatowy identyfikator Oracle dla bie\ącej transakcji, opcjonalnie
tworząc nową transakcję, jeśli parametr twórz_transakcję ma wartość TRUE.
PROCEDURE DBMS_TRANSACTION.PURGE_LOST_DB_ENTRY
(id IN VARCHAR2);
Wymusza w systemie Oracle usunięcie wszystkich lokalnych wpisów dla
transakcji rozproszonej identyfikowanej przez id w przypadku, gdy uczestniczący
w transakcji węzeł został nieodwracalnie utracony.
PROCEDURE DBMS_TRANSACTION.PURGE_MIXED
(id IN VARCHAR2);
Wymusza w systemie Oracle usunięcie lokalnych wpisów dla mieszanej
wychodzącej transakcji rozproszonej identyfikowanej lokalnie przez id.
PROCEDURE DBMS_TRANSACTION.READ_ONLY;
Zapewnia spójność odczytu na poziomie transakcji, gdzie wszystkie zapytania
zwracają spójne względem odczytu obrazy danych z momentu czasu rozpoczęcia
transakcji.
PROCEDURE DBMS_TRANSACTION.READ_WRITE;
Zapewnia spójność odczytu na poziomie polecenia, jest to domyślne ustawienie.
PROCEDURE DBMS_TRANSACTION.ROLLBACK;
Wycofuje bie\ącą transakcję.
PROCEDURE DBMS_TRANSACTION.ROLLBACK_FORCE
(id IN VARCHAR2);
Wycofuje lokalną część wątpliwej transakcji rozproszonej identyfikowanej przez
id.
PROCEDURE DBMS_TRANSACTION.ROLLBACK_SAVEPOINT
(pkt_zachowania IN VARCHAR2);
Wycofuje bie\ącą transakcję do punktu zachowania pkt_zachowania.
PROCEDURE DBMS_TRANSACTIOM.SAVEPOINT
(pkt_zachowania IN VARCHAR2);
Wstawia punkt zachowania o nazwie pkt_zachowania dla bie\ącej transakcji.
FUNCTION DBMS_TRANSACTION.STEP_ID RETURN NUMBER;
Zwraca unikatową wartość całkowitą dodatnią, która porządkuje operacje DML
dla bie\ącej transakcji.
PROCEDURE DBMS_TRANSACTION.USE_ROLLBACK_SEGMENT
(seg IN VARCHAR2);
Przydziela bie\ącą transakcje do segmentu wycofania o nazwie seg.
DBMS_UTILITY
Pakiet DBMS_UTILITY zawiera wiele procedur i funkcji pomocnych przy
wykonywaniu ró\nych zadań, takich jak: rozbiór semantyczny i syntaktyczny
nazw kwalifikowanych, uzyskiwanie informacji o konfiguracji bazy danych,
analiza obiektów, uzyskiwanie informacji ze stosu błedy i wywołania oraz
profilowanie czasu wykonania kodu.
PROCEDURE DBMS_UTILITY.ANALYZE_DATABASE
(metoda IN VARCHAR2,
estymowane_wiersze IN NUMBER DEFAULT NULL,
estymowany_procent IN NUMBER DEFAULT NULL,
metoda_opt IN VARCHAR2 DEFAULT NULL);
Wykonuje analizę wszystkich tabel, klastrów oraz indeksów przy u\yciu metody
metoda_opt (ESTIMATE, NULL lub DELETE). Gdy metodą jest ESTIMATE. to
do oszacowania rozmiaru próbki musi zostać określona jedna z wartości
estymowane_wiersze lub estymowany_procent. Dodatkowe opcje analizy, które
mogą być określone przez metoda_opt, to: FOR TABLE. FOR ALL COLUMNS
[SIZE N], FOR ALL INDEXED COLUMNS [SIZE N] oraz FOR ALL
INDEXES.
PROCEDURE DBMS_UTILITY.ANALYZE_PART_OBJECT
(schemat IN VARCHAR2 DEFAULT NULL,
nazwa_obiektu IN VARCHAR2 DEFAULT NULL,
typ_obiektu IN CHAR DEFAULT 'T',
typ_polecenia IN CHAR DEFAULT 'E',
opcje_polecenia IN VARCHAR2 DEFAULT NULL,
klauzula IN VARCHAR2 DEFAULT 'SAMPLE 5 PERCENT');
Wykonuje analizę partycjonowanej tabeli lub indeksu nazwa_obiektu w
schemacie schemat, typu typ_obiektu (T = tabela. I = index) w trybie
równoległym przy u\yciu procesów kolejki zadań, typ_polecenia określa rodzaj
wykonywanej analizy, a opcje_polecenia definiują dodatkowe opcje. klauzula
określa rozmiar próbki, gdy typ_polecenia ma wartość E (estymacja) i ma postać
 SAMPLE N ROWS lub ,.SAMPLE N PERCENT . Tylko dla systemu Oracle8.
Dopuszczalne wartości dla typ_polecenia to: C dla statystyk obliczanych, E dla
statystyk estymowanych, D dla usunięcia statystyk oraz V dla walidacji struktury.
Dopuszczalne wartości opcje_polecenia dla typ_polecenia C lub T to: FOR
TABLE, FOR ALL LOCAL INDEXES, FOR ALL COLUMNS lub dowolna
kombinacja dla opcji FOR polecenia ANALYZE.
Dopuszczalne wartości opcje_polecenia dla typ_polecenia V to: CASCADE, gdy
typ_obiektu to T (tabela).
PROCEDURE DBMS_UTILITY.ANALYZE_SCHEMA (schemat IN
VARCHAR2, metoda IN VARCHAR2,
estymowane_wiersze IN NUMBER DEFAULT NULL,
estymowany_procent IN NUMBER DEFAULT NULL,
metoda_opt IN VARCHAR2 DEFAULT NULL);
Wykonuje analizę wszystkich tabel, klastrów i indeksów w schemacie schemat
przy u\yciu metody metoda (ESTIMATE, NULL lub DELETE).Gdy metoda to
ESTIMATE, jeden z parametrów estymowana_wiersze lub estymowany_procent
musi zostać określony w celu określenia rozmiaru próbki. Dodatkowe opcje
analizy, określone przez parametr metoda_opt, to: FOR. TABLE, FOR ALL
COLUMNS [SIZE N], FOR ALL INDEXED COLUMNS [SIZE N] oraz FOR.
ALL INDEXES.
PROCEDURE DBMS_UTILITY.COMMA_TO_TABLE
(lista IN VARCHAR2,
rozm OUT BINARY_INTEGER,
tabela OUT UNCL_ARRAY);
Wykonuje rozkład listy lista elementów rozdzielonych przecinkiem i zwraca
elementy w tabeli PL/SQL tabela typu DBMS_UTILITY.UNCL_ ARRAY.
Liczba wierszy tabeli jest zwracana w parametrze rozm.
PROCEDURE DBMS_UTILITY.COMPILE_SCHEMA
(schemat IN VARCHAR2);
Kompiluje wszystkie magazynowane programy PL/SQL (procedury, funkcje
oraz pakiety) nale\ące do schematu schemat.
FUNCTION DBMS_UTILITY.DATA_BLOCK_ADDRESS_BLOCK
(dba IN NUMBER)
RETURN NUMBER;
Zwraca wartość offsetu bloku o adresie DBA bloku określonego przez dba.
FUNCTION DBMS UTILITY.DATA_BLOCK_ADDRESS_FILE
(dba IN NUMBER)
RETURN NUMBER;
Zwraca składnik numeru pliku adresu DBA bloku określonego przez dba.
PROCEDURE DBMS_UTILITY.DB_VERSION
(wersja OUT VARCHAR2, zgodność OUT VARCHAR2);
Zwraca wersję bazy danych systemu Oracle w wersja oraz wartość parametru
COMPATIBLE pliku INIT.ORA (lub NULL). Tylko dla systemu Oracle8.
PROCEDURE DBMS_UTILITY.EXEC_DDL_STATEMENT
(polecenie IN VARCHAR2);
Wykonuje polecenie DDL podane w parametrze polecenie (tylko dla systemu
Oracle8).
FUNCTION DBMS_UTILITY.FORMAT_CALL_STACK
RETURN VARCHAR2;
Zwraca bie\ącą informację ze stosu wywołania PL/SQL w postaci
sformatowanego łańcucha znakowego.
FUNCTION DBMS_UTILITY.FORMAT_ERROR_STACK
RETURN VARCHAR2;
Zwraca bie\ącą informację ze stosu błędu PL/SQL w postaci sformatowanego
łańcucha znakowego.
FUNCTION DBMS_UTILITY.GET_HASH_VALUE
(nazwa IN VARCHAR2,
baza IN NUMBER,
rozm_hash IN NUMBER)
RETURN NUMBER;
Zwraca wartość funkcji haszującej dla nazwa dla minimalnej mo\liwej wartości
baza, korzystając z tablicy haszującej o rozmiarze rozm_hash.
FUNCTION DBMS_UTILITY.GET_PARAMETER_VALUE
(nazwa_par IN VARCHAR2,
wart_pocz IN OUT BINARY_INTEGER,
wart_str IN OUT VARCHAR2)
RETURN BINARY_INTEGER;
Zwraca informacje o bie\ących ustawieniach parametru konfiguracyjnego bazy
danych nazwa_par (INIT.ORA). Tylko dla systemu Oracle8.
wart_pocz zwraca następujące wartości:
" wartość parametru nazwa_par typu numerycznego:
" długość łańcucha parametru nazwa_par.
" 0 dla FALSE i 1 dla TRUE. gdy parametr nazwa_par jest typu boolean.
wart_str zwraca NULL lub wartość parametru typu znakowego 0, jeśli parametr
jest typu boolean lub numerycznego; 1 jeśli parametr jest łańcuchem znakowym.
FUNCTION DBMS_UTILITY.GET_TIME
RETURN NUMBER;
Zwraca wartość określającą liczbę 1/100 sekundy, jakie upłynęły od
(nieokreślonego) arbitralnie określonego punktu czasowego w przeszłości.
FUNCTION DBMS_UTILITY.IS_PARALLEL_SERVER
RETURN BOOLEAN;
Zwraca TRUE, jeśli instancja działa w trybie serwera równoległego, oraz FALSE
w przeciwnym przypadku.
FUNCTION DEMS_UTILITY.MAKE_DATA_BLOCK_ADDRESS
(plik IN NUMBER,
blok IN NUMBER)
RETURN NUMBER;
Zwraca poprawny adres bloku danych DBA dla pliku plik i offsecie bloku blok.
PROCEDURE DBMS_UTILITY.NAME_RESOLVE
(nazwa IN VARCHAR2,
kontekst IN NUMBER, schemat OUT VARCHAR2,
częśćl OUT VARCKAR2,
część2 OUT VARCKAR2,
dblink OUT VARCHAR2, czescl_typ OUT NUMBER, numer_obiektu
OUT NUMBER);
Rozkłada nazwę kwalifikowaną i zwraca określoną informację identyfikacyjną o
obiekcie kwalifikowanym: schemat to właściciel obiektu, część1 to nazwa
obiektu lub nazwa pakietu dla pakietu, część2 to nazwa programu, gdy obiekt jest
pakietem, dblink to łącze bazy danych, jeśli nazwa odnosi się do odległego
obiektu, część1_typ określa typ obiektu, numer_obiektu jest numerem lokalnego
obiektu lub NULL, jeśli nazwa nie mogła zostać w pełni rozło\ona lokalnie.
Część1_typ ma wartość 5, jeśli obiekt to synonim. 7 - jeśli obiekt to procedura, 8 -
jeśli obiekt to funkcja, 9 - jeśli obiekt to pakiet.
Parametr kontekst musi mieć wartość 1.
PROCEDURE DBMS_UTILITY.NAME_TOKENIZE
(nazwa IN VARCHAR2,
a OUT VARCHAR2,
b OUT VARCHAR2,
c OUT VARCHAR2,
dblink OUT VARCHAR2,
nastepna_poz OUT BINARY_INTEGER);
Wykorzystuje parser PL/SQL do rozkładu nazwy kwalifikowanej na atomowe
składowe zgodnie z następującym formatem:
a [ . b [ . c] ] [@dblink ]
nastepna_poz określa pozycję początkową następnego elementu.
FUNCTION DBMS_UTILITY.PORT_STRING
RETURN VARCHAR2;
Zwraca łańcuch znakowy zawierający specyficzną dla systemu operacyjnego
informację, identyfikującą wersję działającego systemu Oracle.
PROCEDURE DBMS_UTILITY.TABLE_TO_COMMA
(tablica IN UNCL_ARRAY, rozm_tab OUT BINARY_INTEGER,
lista OUT VARCHAR2);
Dokonuje konwersji tablicy PL/SQL tablica typu DBMS_
UTILITY.UNCL_ARRAY na łańcuch znakowy rozdzielony przecinkami i
umieszcza go w lista wraz z ilością przetworzonych wierszy zwracanych w
rozm_tab.
UTL_FILE
Pakiet UTL_FILE umo\liwia odczytywanie i zapisywanie plików systemu
operacyjnego serwera, na jakim pracuje baza danych Oracle z programów
PL/SQL.
PROCEDURE UTL_FILE.FCLOSE
(plik IN OUT FILE_TYPE);
Zamyka plik identyfikowany przez uchwyt pliku plik i ustawia wartość id pliku na
NULL.
PROCEDURE UTL_FILE.FCLOSE_ALL;
Zamyka wszystkie otwarte pliki, przy czym pole id uchwytu pliku nie zostanie
ustawione na wartość NULL.
PROCEDURE UTL_FILE.FFLUSH
(plik IN FILE_TYPE);
Wymusza natychmiastowe zapisanie zawartości bufora danych dla pliku plik.
FUNCTION UTL_FILE.FOPEN
(poło\enie IN VARCHAR2, nazwa_pliku IN VARCHAR2, tryb
otwarcia IN VARCHAR2;
RETURN FILE_TYPE;
Zwraca uchwyt pliku typu UTL_FILE.FILE_TYPE po pomyślnym otwarciu
pliku nazwa_pliku znajdującego się w katalogu poło\enie w trybie tryb_otwarcia
lub wywołuje wyjątek.
Dopuszczalne tryby otwarcia to:
R = otwiera plik w trybie tylko-do-odczytu.
W = otwiera plik w trybie zapisu i nadpisuje zawartość.
A = otwiera plik w trybie zapisu i dopisuje zawartość.
Dopuszczalne wartości parametru poło\enie określa parametr pliku
konfiguracyjnego Oracle UTL_FILE_DIR.
PROCEDURE UTL_FILE.GET_LINE
(plik IN FILE_TYPE,
bufor OUT VARCHAR2);
Odczytuje kolejną linię pliku plik do bufora bufor. Wywołuje wyjątek
NO_DATA_FOUND, gdy osiągnięto koniec pliku lub VALUE_ERROR, gdy
wielkość bufora jest za mała.
FUNCTION UTL_FILE.IS_OPEN
(plik IN FILE_TYPE)
RETURN BOOLEAN;
Zwraca wartość TRUE, jeśli uchwyt pliku plik jest otwarty w dowolnym trybie,
lub FALSE w przeciwnym przypadku.
PROCEDURE UTL_FILE.NEW_LINE
(plik IN FILE_TYPE, ile IN NATURAL := 1);
Zapisuje ile znaków nowej linii w pliku plik.
PROCEDURE UTL_FILE.PUT
(plik IN FILE_TYPE,
bufor IN VARCHAR2);
Zapisuje dane z bufora do pliku plik bez znaku końca nowej linii.
PROCEDURE UTL_FILE.PUT_LINE
(plik IN FILE_TYPE,
bufor IN VARCHAR2);
Zapisuje dane z bufora do pliku plik, dołączając znak końca nowej linii.
PROCEDURE UTL_FILE.PUTF
(plik IN FILE_TYPE,
format IN VARCHAR2,
argl IN VARCHAR2 DEFAULT NULL,
arg2 IN VARCHAR2 DEFAULT NULL,
arg3 IN VARCHAR2 DEFAULT NULL,
arg4 IN VARCHAR2 DEFAULT NULL,
arg5 IN VARCHAR2 DEFAULT NULL);
Zapisuje sformatowany tekst do pliku plik przy u\yciu szablonu format,
podmieniając maksymalnie pięć elementów %s formatu na wartości argl ...
arg5.format mo\e zawierać następujące elementy:dowolny tekst, %s oznaczający
podmianę argN (do pięciu argumentów) lub %n oznaczający nową linię (dowolna
wartość jest dozwolona).
UTL_RAW
Pakiet UTL_RAW zawiera podprogramy obsługujące dostęp do danych typu
RAW. Zapewniają one konwersję, dzielenie, łączenie i operacje bitowe na
obiektach typu RAW.
FUNCTION UTL_RAW.BIT_AND
(rl IN RAW,
r2 IN RAW) RETURN RAW;
Zwraca wartość bitowego logicznego 1 wartości r1 i r2.
FUNCTION UTL_RAW.BIT_COMPLEMENT
(r1 IN RAW,
r2 IN RAW) RETURN RAW;
Zwraca wartość bitowego logicznego dopełniania wartości
r1 i r2.
FUNCTION UTL_RAW.BIT_OR
(r1 IN RAW,
r2 IN RAW) RETURN RAW;
Zwraca wartość bitowego logicznego LUB wartości r1 i r2.
FUNCTION UTL_RAW.BIT_XOR
(r1 IN RAW,
r2 IN RAW) RETURN RAW;
Zwraca wartość bitowego logicznego XOR (wyłącznie-lub) wartości r1 i r2.
FUNCTION UTL_RAW.CAST_TO_RAW
(c IN VARCHAR2) RETURN RAW;
Dokonuje konwersji typu VARCHAR2 wartości c na RAW.
FUNCTION UTL_RAW.CAST_TO_VARCHAR2
(r IN RAW) RETURN VARCHAR2;
Dokonuje konwersji typu RAW wartości r na VARCHAR2.
FUNCTION UTL_RAW.COMPARE
(rl IN RAW,
r2 IN RAW,
dop IN RAW DEFAULT NULL) RETURN NUMBER;
Zwraca wartość 0, jeśli rl oraz r2 są identyczne. Zwraca pozycję pierwszego bajta
wystąpienia ró\nicy między r1 i r2.
Jeśli r1 i r2 mają ró\ne wielkości, następuje dopełnienie z prawej strony wartością
dop.
FUNCTION UTL_RAW.CONCAT
(r1 IN RAW DEFAULT NULL,
r2 IN RAW DEFAULT NULL,
r3 IN RAW DEFAULT NULL,
r4 IN RAW DEFAULT NULL,
r5 IN RAW DEFAULT NULL,
r6 IN RAW DEFAULT NULL,
r7 IN RAW DEFAULT NULL,
r8 IN RAW DEFAULT NULL,
r9 IN RAW DEFAULT NULL,
rlO IN RAW DEFAULT NULL,
rll IN RAW DEFAULT NULL,
rl2 IN RAW DEFAULT NULL)
RETURN RAW;
Zwraca wynik konkatenacji argumentów r1... r12. Rezultat musi być mniejszy od
32 kB. Parametry od r3 do r12 są opcjonalne.
FUNCTION UTL_RAW.CONVERT
(r IN RAW,
wyj_charset IN VARCHAR2,
wej_charset IN VARCHAR2)
RETURN RAW;
Zwraca wartość r po konwersji z zestawu znaków wej_charset na zestaw
wyj_charset. wej_charset oraz wyj_charset to zestawy znaków NLS.
FUNCTION UTL_RAW.COPIES
(r IN RAW,
n IN NUMBER) RETURN RAW;
Realizuje n-krotną konkatenację wartości r i zwraca wynik operacji.
FUNCTION UTL_RAW.LENGTH
(r IN RAW) RETURN NUMBER;
Zwraca ilość bajtów dla parametru r.
FUNCTION UTL_RAW.OVERLAY
(nakładka IN RAW,
cel IN RAW,
poz IN BINARY INTEGER DEFAULT 1,
długość IN BINARY_INTEGER DEFAULT NULL, dop IN RAW DEFAULT
NULL)
RETURN RAW;
Zwraca wartość cel nadpisaną wartością nakładka, począwszy od pozycji
startowej poz na długości długość bajtów, dopełniając z prawej strony wartością
dop, jeśli jest taka potrzeba. Jeśli wartość poz jest większa od rozmiaru cel,
następuje dopełnienie wartoscią pad.
FUNCTION UTL_RAW.REVERSE
(r IN RAW)
RETURN RAW;
Zwraca bajtową zawartość r w odwrotnym porządku.
FUNCTION UTL_RAW.SUBSTR
(r IN RAW,
poz IN BINARY_INTEGER,
długość IN BINARY_INTEGER DEFAULT NULL) RETURN RAW;
Zwraca fragment zwartości r od pozycji poz i długości długość bajtów.
FUNCTION UTL_RAW.TRANSLATE
(r IN RAW,
zbior_we IN RAW,
zbior_wy IN RAW) RETURN RAW;
Zwraca zawartość zawartości r po translacji polegającej na zamianie bajtów
zawartych w zbior_we na odpowiedniki wzbior_wy. Jeśli zbior_we jest większy
ni\ zbior_wy, to bajty nie posiadające odpowiedników zostają usunięte z r.
FUNCTION UTL_RAW.TRANSLITERATE
(r IN RAW,
zbior_wy IN RAW DEFAULT NULL,
zbior_we IN RAW DEFAULT NULL,
dop IN RAW DEFAULT NULL)
RETURN RAW;
Zwraca zawartość r po translacji bajtów zawartych w zbior_we na zbior_wy. Jeśli
zbior_we jest większy ni\ zbior_wy, to bajty nie posiadające odpowiedników
zostają tłumaczone na dop.
FUNCTION UTL_RAW.XRANGE
(bajt_pocz IN RAW DEFAULT NULL, bajt_kon IN RAW DEFAULT
NULL)
RETURN RAW;
Zwraca łańcuch znakowy RAW zło\ony ze wszystkich bajtów w porządku od
bajt_pocz do bajt_kon łącznie z tymi wartościami. Jeśli bajt_pocz jest większy od
bajt_kon, to wynik przechodzi od 0xFF do 0x00.
UTL_REF
Pakiet UTL_REF zawiera podprogramy pozwalające wybierać i modyfikować
elementy typu obiektu w tabeli obiektu. Nazwa tablicy nie musi być znana (tylko
dla systemu Oracle8.1).
PROCEDURE UTL_REF.DELETE_OBJECT
(odwołanie IN REF ANY);
Usuwa obiekt (a właściwie wiersz zawierający obiekt) identyfikowany przez
odwołanie.
PROCEDURE UTL_REF.LOCK_OBJECT
(odwołanie IN REF ANY);
Blokuje obiekt kwalifikowany przez odwołanie.
PROCEDURE UTL_REF.LOCK_OBJECT
(odwołanie IN REF ANY, obiekt IN OUT ANY);
Blokuje obiekt kwalifikowany przez odwołanie i pobiera obiekt do zmiennej
obiekt. Procedura jest podobna do polecenia SELECT FOR UPDATE.
PROCEDURE UTL_REF.SELECT_OBJECT
(odwołanie IN REF AMY, obiekt IN OUT ANY);
Pobiera obiekt kwalifikowany przez odwołanie do zmiennej obiekt.
PROCEDURE UTL_REF.UPDATE_OBJECT
(odwołanie IN REF ANY, obiekt IN OUT ANY);
Zamienia obiekt w bazie danych identyfikowany przez odwołanie na obiekt
obiekt.
Wbudowane funkcje numeryczne
Wbudowane funkcje zaimplementowane przez firmę Oracle we wbudowanym
pakiecie STANDARD są predefiniowanymi funkcjami, które pozwalają w
wygodny sposób manipulować danymi. Istnieje sześć podstawowych typów
funkcji wbudowanych, z których ka\da została omówiona w właściwej sekcji:
" Funkcje znakowe pozwalają na analizę i modyfikacje zawartości zmiennych
tekstowych CHAR oraz VARCHAR2.
" Funkcje numeryczne oferują pełną gamę operacji na wartościach
numerycznych, co obejmuje równie\ operacje trygonometryczne,
logarytmowanie i funkcje wykładnicze.
" Funkcje związane z datą to narzędzia pozwalające wykonywać operacje na
wysokim poziomie związane z datami, łącznie z operacjami arytmetycznymi.
" Funkcje konwersji pozwalają na konwersje jednego typu danych na inne,
często z mo\liwością formatowania danych wyjściowych.
" Funkcje dla obiektów typu LOB obsługujące operacje na obiektach LOB.
" Inne funkcje realizujące operacje, których nie mo\na zaliczyć do \adnego z
powy\szych kryteriów.
Pakiet STANDARD zawiera definicje i funkcje języka PL/SQL. Definicje te
obejmują wszystkie typy danych PL/SQL, nazwane wyjątki oraz funkcje i
operatory (które są zdefiniowane jako funkcje). Nale\y zwrócić uwagę na to, \e
praktycznie wszystkie funkcje pakietu STANDARD mają odpowiedniki w
funkcjach SQL.
Funkcje znakowe
Funkcje znakowe realizują rozkład nazw, konkatenację łańcuchów znakowych i
realizują inne operacje znakowe.
FUNCTION ASCII
(znak IN VARCHAR2 CHARACTER SET ANY_CS)
RETURN IN BINARY_INTEGER;
Zwraca wartość numeryczną kodu ASCII dla znak.
FUNCTION CHR
(n BINARY_INTEGER)
RETURN VARCHAR2;
Zwraca znak skojarzony z wartością numeryczną n, zgodnie z zestawem znaków
bazy danych.
FUNCTION CONCAT
(tekst1 IN VARCHAR2 CHARACTER SET ANY_CS,
tekst2 IN VARCHAR2 CHARACTER SET
tekst1%CHARSET)
RETURN VARCHAR2 ;
Zwraca łańcuch znakowy zło\ony z połączenia tekst1 z tekst2.
FUNCTION INITCAP
(tekst IN VARCHAR2 CHARACTER SET ANY_CS)
RETURN VARCHAR2;
Zwraca łańcuch znakowy tekst, dla którego pierwsza litera ka\dego wyrazu jest
du\ą literą, a wszystkie pozostałe małymi literami.
FUNCTION INSTR
(tekstl IN VARCHAR2 CHARACTER SET ANY_CS,
tekst2 IN VARCHAR2 CHARACTER SET tekst1%CHARSET,
poz BINARY_INTEGER := 1,
krotność IN POSITIVE := 1)
RETURN BINARY_INTEGER;
Zwraca pozycję znaku n-krotnego wystąpienia łańcucha tekst2 w łańcuchu tekst1.
Wyszukiwanie rozpoczyna się od pozycji poz w tekst1 i jest prowadzone do końca
łańcucha. Ujemna wartość poz wymusza wyszukiwanie od końca.
FUNCTION INSTRB
(tekst1 IN VARCHAR2 CHARACTER SET ANY_CS,
tekst2 IN VARCHAR2 CHARACTER SET tekst1%CHARSET,
poz BINARY_INTEGER := 1,
krotność IN POSITIVE := 1) RETURN BINARY_INTEGER;
Realizuje to samo, co funkcja INSTR, poza tym, \e poz jest wyra\one w bajtach
(dla wielobajtowych zestawów znaków).
FUNCTION LENGTH
(tekst IN VARCHAR2 CHARACTER SET ANY_CS)
RETURN NATURAL;
Zwraca długość łańcucha tekst.
FUNCTION LENGTHB
(tekst IN VARCHAR2 CHARACTER SET ANY_CS)
RETURN NUMBER;
Zwraca długość łańcucha tekst w bajtach.
FUNCTION LOWER
(tekst IN VARCHAR2 CHARACTER SET ANY_CS)
RETURN VARCHAR2;
Zwraca łańcuch tekst ze wszystkimi znakami jako małe litery.
FUNCTION LPAD
(tekst IN VARCHAR2 CHARACTER SET ANY_CS,
długość BINARY INTEGER
[,dop IN VARCHAR2 CHARACTER SET tekst1%CHARSET])
RETURN VARCHAR2;
Zwraca tekst dopełniony z lewej strony do długości długość znakiem
dopełniającym dop.
FUNCTION LTRIM
(tekst IN VARCHAR2 CHARACTER SET ANY_CS:= ' '
[,wzor IN VARCHAR2 CHARACTER SET tekst%CHARSET])
RETURN VARCHAR2;
Zwraca tekst pozbawiony wszystkich wiodących znaków zawartych w wzór.
FUNCTION REPLACE
(tekst IN VARCHAR2 CHARACTER SET ANY_CS,
podciągi IN VARCHAR2 CHARACTER SET tekst%CHARSET,
podciag2 IN VARCHAR2 CHARACTER SET tekst%CHARSET:= NULL)
RETURN VARCHAR2;
Zwraca tekst, w którym wszystkie wystąpienia podciąg1 zostały zastąpione przez
podciąg2.
FUNCTION RPAD
(tekst IN VARCHAR2 CHARACTER SET ANY_CS,
długość BINARY_INTEGER
[,dop IN VARCHAR2 CHARACTER SET tekst%CHARSET])
RETURN VARCHAR2;
Zwraca tekst dopełniony z prawej strony do długości długość znakiem
dopełniającym dop.
FUNCTION RTRIM
(tekst IN VARCHAR2 CHARACTER SET ANY CS:= ' '
[,wzor IN VARCHAR2 CHARACTER SET tekst%CHARSET])
RETURN VARCHAR2;
Zwraca tekst pozbawiony wszystkich znaków znajdujących się na końcu łańcucha
zawartych w wzór.
FUNCTION SOUNDEX
(tekst IN VARCHAR2 CHARACTER SET ANY_CS)
RETURN VARCHAR2;
Zwraca fonetyczne kodowanie dla łańcucha tekst.
FUNCTION SUBSTR
(tekst IN VARCHAR2 CHARACTER SET ANY_CS,
poz BINARY_INTEGER,
długość BINARY_INTEGER := NULL)
RETURN VARCHAR2;
Zwraca fragment łańcucha tekst od pozycji poz w łańcuchu o długości długość.
Ujemna wartość dla poz lub długość powoduje odliczanie od końca.
FUNCTION SUBSTRB
(tekst IN VARCHAR2 CHARACTER SET ANY_CS,
poz BINARY_INTEGER,
długość BINARY_INTEGER : = NULL)
RETURN VARCHAR2;
Wykonuje tę samą operację, co funkcja SUBSTR, z tym, \e wartosci poz i
długość są wyra\one w bajtach (dla wielobajtowych zestawów znaków).
FUNCTION TRANSLATE
(tekst IN VARCHAR2 CHARACTER SET ANY_CS,
zródło IN VARCHAR2 CHARACTER SET tekst%CHARSET,
cel IN VARCHAR2 CHARACTER SET tekst%CHARSET)
RETURN VARCHAR2;
Zwraca łańcuch tekstowy tekst, w którym wystąpienia znaków zawartych w
łańcuchu zródło zostały wymienione na znaki z łańcucha cel zgodnie z pozycją w
łańcuchach.
FUNCTION UPPER
(tekst IN VARCHAR2 CHARACTER SET ANY_CS)
RETURN VARCHAR2;
Zwraca łańcuch znakowy tekst, w którym wszystkie znaki są du\ymi literami.
Funkcje numeryczne
Funkcje numeryczne do obsługi danych numerycznych.
FUNCTION ABS (n IN MUMBER) RETURN NUMBER;
Zwraca wartość bezwzględną dla n.
FUNCTION ACOS (n IN NUMBER) RETURN NUMBER;
Zwraca wartość arcuscosinus dla n, gdzie -1 < n < 1.
FUNCTION ASIN (n IN NUMBER} RETURN NUMBER;
Zwraca wartość arcussinus dla n, gdzie -1 < n < 1.
FUNCTION ATAN (n IN NUMBER) RETURN NUMBER;
Zwraca wartość arcustangens dla n.
FUNCTION ATAN2
(x IN NUMBER, y IN NUMBER) RETURN NUMBER;
Zwraca wartość arcustangens dla.x oraz y.
FUNCTION CEIL (n IN NUMBER) RETURN NUMBER;
Zwraca najmniejszą wartość całkowitą większą lub równą n.
FUNCTION COS (n IN NUMBER) RETURN NUMBER;
Zwraca wartość funkcji cosinus dla n.
FUNCTION COSH (n IN NUMBER) RETURN NUMBER;
Zwraca wartość cosinusa hiperbolicznego dla n.
FUNCTION EXP (n IN NUMBER) RETURN NUMBER;
Zwraca wartość e podniesionej do potęgi n, gdzie e jest podstawą logarytmu
naturalnego.
FUNCTION FLOOR (n IN NUMBER) RETURN NUMBER;
Zwraca największą wartość całkowitą mniejszą lub równą n.
FUNCTION LN (n IN NUMBER) RETURN NUMBER;
Zwraca wartość logarytmu naturalnego dla n.
FUNCTION LOG
(n1 IN NUMBER, n2 IN NUMBER) RETURN NUMBER;
Zwraca wartość logarytmu z n2 o podstawie n1, gdzie n1 > 1 i n2 > 0.
FUNCTION MOD
(n1 IN NUMBER, n2 IN NUMBER) RETURN NUMBER;
Zwraca wartość reszty z dzielenia n1 przez n2.
FUNCTION POWER
(n IN NUMBER, e IN NUMBER) RETURN NUMBER;
Zwraca wartość n podniesioną do potęgi e.
FUNCTION ROUND
(n1 IN NUMBER, n2 BINARY_INTEGER : = 0} RETURN NUMBER;
Zwraca wartość n1 po zaokrągleniu do n2 miejsc po przecinku.
FUNCTION SIGN (n IN NUMBER) RETURN SIGNTYPE;
Zwraca -1, 0 lub 1 w zale\ności od znaku n.
FUNCTION SIN (n IN NUMBER) RETURN NUMBER;
Zwraca wartość funkcji sinus dla n.
FUNCTION SINH (n IN NUMBER) RETURN NUMBER;
Zwraca wartość funkcji sinus hiperboliczny dla n.
FUNCTION SQRT (n IN NUMBER) RETURN NUMBER;
Zwraca wartość pierwiastka kwadratowego z n.
FUNCTION TAN (n IN NUMBER) RETURN NUMBER;
Zwraca wartość funkcji tangens dla n.
FUNCTION TANH (n IN NUMBER) RETURN NUMBER;
Zwraca wartość funkcji tangens hiperboliczny dla n.
FUNCTION TRUNC
(n IN NUMBER, m BINARY_INTEGER := 0) RETURN NUMBER;
Obcina wartość n do m miejsc po przecinku.
Funkcje związane z datą
Funkcje te pozwalająna manipulację wartościami typu data.
FUNCTION ADD_MONTHS
(data IN DATE | NUMBER, m IN NUMBER | DATE) RETURN DATE;
Zwraca datę po dodaniu m miesięcy do daty data.
FUNCTION LAST_DAY (data IN DATE) RETURN DATE;
Zwraca ostatni dzień miesiąca zawartego w data.
FUNCTION MONTHS_BETWEEN
(datal IN DATE, data2 IN DATE) RETURN NUMBER;
Zwraca liczbę miesięcy między datami data1 i data2.
FUNCTION NEW_TIME
(data IN DATE,
strefa1 IN VARCHAR2,
strefa2 IN VARCHAR2) RETURN DATE;
Zwraca datę uzyskaną w wyniku konwersji data ze strefy czasowej strefa1 na
strefę strefa2.
FUNCTION NEXT_DAY
(data IN DATE, dzień IN VARCHAR2) RETURN DATE;
Zwraca następne wystąpienie dnia tygodnia dzień (poniedziałek, wtorek itd.) po
dacie data.
FUNCTION ROUND
(data IN DATE [,maska IN VARCHAR2]) RETURN DATE;
Zwraca datę data zaokrągloną zgodnie z maską formatu maska (lub zgodnie z
domyślnym formatem DD).
FUNCTION SYSDATE RETURN DATE;
Zwraca bie\ącą datę systemową z bazy danych.
FUNCTION TRUNC
(data IN DATE [,maska IN VARCHAR2]) RETURN DATE;
Zwraca datę data obciętą przy u\yciu maski formatu maska (lub zgodnie z
domyślnym formatem DD).
Funkcje konwersji
Funkcje konwersji pozwalają na konwersję danych na właściwy typ danych.
FUNCTION CHARTOROWID (str IN VARCHAR2) RETURN ROWID;
Zwraca wartość str po konwersji z typu VARCHAR2 na typ ROWID. Patrz tak\e
DBMS_ROWID.
FUNCTION CONVERT
(tekst IN VARCHAR2,
zestaw_wy IN VARCHAR2
[,zestaw_we IN VARCHAR2])
RETURN VARCHAR2;
Zwraca tekst po konwersji z zestawu znaków zestaw_we na zestaw znaków
zestaw_wy. Domyślnym zestawem dla zestaw_we jest domyślny zestaw znakowy
bazy danych.
FUNCTION HEXTORAW (c IN VARCHAR2) RETURN RAW;
Zwraca wartość c typu VARCHAR kodowaną heksadecymalnie jako łańcuch
znakowy RAW.
FUNCTION RAWTOHEX (r IN RAW) RETURN VARCHAR2;
Zwraca łańcuch znakowy r typu RAW jako typ VARCHAR kodowany
heksadecymalnie.
FUNCTION ROWIDTOCHAR (str IN ROWID) RETURN VARCHAR2;
Zwraca dane typu ROWID w str po konwersji na typ VARCHAR.
FUNCTION TO_CHAR
(param IN DATE | NUMBER
[,maska IN VARCHAR2])
[,nls_pararn IN VARCHAR2])
RETURN VARCHAR2;
Zwraca wartość param po konwersji z typu NUMBER lub DATE na VARCHAR
przy u\yciu maski formatu maska (jeśli jest określona). Opcjonalny parametr
nls_param mo\e określać parametry języka NLS.
FUNCTION TO_DATE
(param IM VARCHAR2 | NUMBER
[,maska IN VARCHAR2]
[,nls_param IN VARCHAR2])
RETURN DATE;
Zwraca wartość param po konwersji z typu NUMBER lub VARCHAR na DATE
przy u\yciu maski formatu maska (jeśli jest określona). Opcjonalny parametr
nls_param mo\e określać parametry języka NLS.
FUNCTION TO_MUMBER
(param IN VARCHAR2 | NUMBER
[,maska IN VARCHAR2]
[,nls_param IN VARCHAR2])
RETURN NUMBER;
Zwraca wartość param po konwersji z typu VARCHAR na NUMBER przy
u\yciu maski formatu maska jeśli jest określona). Opcjonalny parametr
nls_param mo\e określać parametry języka NLS.
Funkcje dla obiektów LOB
Funkcje LOB pozwalają na inicjalizacje wartości obiektów LOB.
FUNCTION BFILENAME
(katalog IN VARCHAR2, nazwa_pliku IN VARCHAR2; RETURN
BFILE;
Zwraca lokalizator (uchwyt) BFILE do pliku nazwa_pliku w katalogu katalog.
Patrz tak\e DBMS_LOB.
FUNCTION EMPTY_BLOB RETURN BLOB;
Zwraca pusty lokalizator typu BLOB.
FUNCTION EMPTY_CLOB RETURN CLOB;
Zwraca pusty lokalizator typu CLOB.
Pozostałe funkcje
Pozostałe funkcje zwracają ró\norakie u\yteczne informacje.
FUNCTION BITAND
(nl BINARY_INTEGER, n2 BINARY_INTEGER)
RETURN BINARY_INTEGER;
Zwraca wartość bitowej operacji I dla n1 i n2.
FUNCTION DUMP
(wartość IN NUMBER | DATE | VARCHAR2, format
BINARY_INTEGER := NULL, poz BINARY_INTEGER := NULL,
długość BINARY_INTEGER : = NULL)
RETURN VARCHAR2;
Zwraca wewnętrzną reprezentację części wartość, począwszy od pozycji poz i
długości długość przy u\yciu formatu format (8 = ósemkowo; 10 = dziesiętnie; 16
= szesnastkowo; 17 = znakowo).
FUNCTION GREATEST
(wyr IN NUMBER | VARCHAR | DATE) RETURN NUMBER | VARCHAR
| DATE;
Zwraca największą wartość z wyra\eń (dwóch lub więcej) zawartych w wyr.
Wyra\enia wyr muszą być tego samego typu.
FUNCTION LEAST
(wyr IN MUMBER | VARCHAR | DATE) RETURN NUMBER | VARCHAR
| DATE;
Zwraca najmniejszą wartość z wyra\eń (dwóch lub więcej) zawartych w wyr.
Wyra\enia wyr muszą być tego samego typu.
FUNCTION NVL
(s1 | n1 | d1 | b1 IN VARCHAR2 | NUMBER | DATE | BOOLEAN,
s2 | n2 | d2 | b2 IN VARCHAR2 CHARACTER SET s1%CHARSET)
RETURN VARCHAR2 | NUMBER | DATE | BOOLEAN;
Funkcja wartości NULL; zwraca s2 | n2 | d2 | b2, gdy s1 | nl | d1 | bl ma wartość
NULL, a w przeciwnym przypadku sl | nl | dl | bl.
FUNCTION SQLCODE RETURN NUMBER;
Zwraca kod numeryczny związany z bie\ącym statusem wykonania.
FUNCTION SQLERRM [(kod IN NUMBER)] RETURN VARCHAR2;
Zwraca komunikat błędu związany z kodem (lub domyślnie bie\ącą wartość
SQLCODE).
FUNCTION UID RETURN NUMBER;
Zwraca wartość numeryczną id u\ytkownika dla bie\ącego u\ytkownika.
FUNCTION USER RETURN VARCHAR2;
Zwraca nazwę u\ytkownika dla bie\ącego u\ytkownika.
FUNCTION USERENV (envstr IN VARCHAR2)
RETURN VARCHAR2;
Zwraca informacje o środowisku dla sesji u\ytkownika dla envstr, gdzie envstr
przyjmuje wartości:
ENTRYID
Zwraca identyfikator śledzenia.
INSTANCE
Zwraca identyfikator instancji dla bazy danych OPS.
LANGUAGE
Zwraca ustawienia NLS (język, terytorium, zestaw znaków) dla sesji.
TERMINAL
Zwraca identyfikator terminala systemu operacyjnego.
FUNCTION VSIZE
(wart IN NUMBER | DATE | VARCHAR2)
RETURN NUMBER;
Zwraca ilość bajtów wymaganych do wewnętrznego przechowania wartości wart.
FUNCTION XOR
(b1 IN BOOLEAN, b2 IN BOOLEAN)
RETURN BOOLEAN;
Zwraca wartość TRUE, gdy b1 ma wartość TRUE, a b2 ma wartość FALSE lub bl
ma wartość FALSE, a b2 ma wartość TRUE. Patrz tak\e UTL_RAW.
Dytektywy pragma
RESTRICTREFERENCES
Dyrektywy pragma kompilatora PL/SQL przekazują informacje do kompilatora.
Dyrektywy są przetwarzane w czasie kompilacji, lecz nie są wykonywane. Jeśli
wywołanie obiektu z wbudowanego pakietu zawiera się w poleceniu SQL, to
trzeba równie\ zawrzeć w kodzie dyrektywę pragma RESTRICT REFERENCES.
Pragma zawiera informacje dla kompilatora o poziomie zaufania purity level
(freedom from side effects) programu pakietu. Dostępne poziomy zaufania:
" WNDS - nie zmienia stanu bazy danych (nie modyfikuje tabel bazy danych).
" RNDS - nie odczytuje stanu bazy danych (nie wykonuje zapytań do tabel).
" WNPS - nie zmienia stanu pakietu (nie modyfikuje wartości zmiennych
pakietu).
" RNPS - nie odczytuje stanu pakietu (nie odwołuje się do zmiennych pakietu).
Programy DBMS_LOB WNDS RNDS WNPS RNPS
COMPARE v v v v
FILEEXISTS v v v v
FILEISOPEN v v v v
GETLENGTH v v v v
INSTR v v v v
SUBSTR v v v v
Programy DBMS_OUTPUT WNDS RNDS WNPS RNPS
DISABLE v v
ENABLE v v
GET_LINE v v
GET_LINES v v
NEW_LINE v v
PUT v v
PUT_LINE v v
Programy DBMS_PIPE WNDS RNDS WNPS RNPS
CREATE_PIPE V V
NEXT_ITEM_TYPE V V
PACK_MESSAGE V V
PACK_MESSAGE_RAW V V
PACK_MESSAGE_ROWID V V
PURGE V V
RECEIVE_MESSAGE V V
REMOVE PIPE V V
RESET_BUFFER V V
SEND_MESSAGE V V
UNIQUE_SESSION_NAME V V V
UNPACK_MESSAGE V V
UNPACK_MESSAGE_RAW V V
UNPACK_MESSAGE_ROWID V V
Programy DBMS_ROWID WNDS RNDS WNPS RNPS
ROWID_BLOCK_NUMBER V V V V
ROWID_CREATE V V V V
ROWID_INFO V V V V
ROWID_OBJECT V V V V
ROWID_RELATIVE_FNO V V V V
ROWID_ROW_NUMBER V V V V
ROWID_TO_ABSOLUTE_FNO V V V
ROWID_TO_EXTENDED V V V
ROWID_TO_ RESTRICTED V V V V
ROWID_TYPE V V V V
ROWID_VERIFY V V V
Programy DBMS_SESSION WNDS RNDS WNPS RNPS
UNIQUE_SESSION_ID V V V
Programy DBMS_SQL WNDS RNDS WNPS RNPS
BIND_ARRAY V
BIND_VARIABLE V
BIND_VARIABLE_CHAR V
BIND_VARIABLE_RAW V
BIND_VARIABLE_ROWID V
CLOSE_CURSOR V V
COLUMN_VALUE V V
COLUMN_VALUE_CHAR V V
COLUMN_VALUE_LONG V V
COLUMN_VALUE_RAW V V
COLUMN_VALUE_ROWID V V
DEFINE_ARRAY V V
DEFINE_COLUMN V V
DEFINE_COLUMN_CHAR V V
DEFINE_COLUMN_LONG V V
DEFINE_COLUMN_RAW V V
DEFINE_COLUMN_ROWID V V
DESCRIBE_COLUMNS V
EXECUTE_AND_FETCH V
FETCH_ROWS V
IS_OPEN V V
Programy DBMS_SQL WNDS RNDS WNPS RNPS
LAST_ERROR_POSITON V V
LAST_ROW_COUNT V V
LAST_ROW_ID V V
LAST_SQL_FUNCTION_CODE V V
OPEN_CURSOR V V
VARIABLE_VALUE V V
VARIABLE_VALUE_CHAR V V
VARIABLE_VALUE_RAW V V
VARIABLE_VALUE_ROWID V V
Programy DBMS_STANDARD WNDS RNDS WNPS RNPS
DELETING V V V
INSERTING V V V
RAISE_APPLICATION_ERROR V V V V
UPDATING V V V
Programy DBMS_UTILITY WNDS RNDS WNPS RNPS
DATA_BLOCK_ADDRESS_BLOCK V V V V
DATA_BLOCK_ADDRESS_FILE V V V V
GET_HASH_VALUE V V V V
MAKE_DATA_BLOCK_ADDRESS V V V V
PORT_STRING V V V V
Programy UTL RAW WNDS RNDS WNPS RNPS
BIT_AND V V V V
BIT_COMPLEMENT V V V V
BIT_OR V V V V
BIT_XOR V V V V
CAST_TO_RAW V V V V
CAST TO VARCHAR2 V V V V
Programy UTL_RAW WNDS RNDS WNPS RNPS
COMPARE V V V V
CONCAT V V V V
CONVERT V V V V
COPIES V V V V
LENGTH V V V V
OVERLAY V V V V
REVERSE V V V V
SUBSTR V V V V
TRANSLATE V V V V
TRANSLITERATE V V V V
XRANGE V V V V
Elementy nieprogramistyczne
Poza definicjami programów (omówionych wcześniej w sekcji Wbudowane
pakiety), pakiety mogą zawierać elementy nieprogramistyczne zdefiniowane dla
danego pakietu. Elementy te mogą obejmować: stałe, wyjątki, typy rekordowe
oraz tabele indeksowe.
Ta sekcja omawia elementy nieprogramistyczne zdefiniowane dla ka\dego
wbudowanego pakietu.
DBMS ALERT
maxwait CONSTANT INTEGER := 86400000;
DBMS_APPLICATION_INFO
set_session_longops_nohint
CONSTANT BINARY_INTEGER := -1;
DBMS_AQ
before CONSTANT BINARY_INTEGER
browse CONSTANT BINARY_INTEGER
expired CONSTANT BINARY_INTEGER
first_message CONSTANT BINARY_INTEGER
forever CONSTANT BINARY_INTEGER
immediate CONSTANT BINARY_INTEGER
iocked CONSTANT BINARY_INTEGER
never CONSTANT BINARY_INTEGER
next_message CONSTANT BINARY_INTEGER
next_transaction CONSTANT BINARY_INTEGER
no_delay CONSTANT BINARY_INTEGER
no_wait CONSTANT BINARY_INTEGER
on_commit CONSTANT BINARY_INTEGER
processed CONSTANT BINARY_INTEGER
ready CONSTANT BINARY_INTEGER
remove CONSTANT BINARY_INTEGER
top CONSTANT BINARY_INTEGER
waiting CONSTANT BINARY_INTEGER
TYPE aq$_recipient_list_t IS TABLE OF sys.aq$_agent
INDEX BY BINARY_INTEGER;
TYPE message_properties_t IS RECORD
(priority BINARY_INTEGER DEFAULT 1,
delay BINARY_INTEGER DEFAULT DBMS_AQ.no_delay,
expiration BINARY_INTEGER DEFAULT DBMS_AQ.never,
correlation VARCHAR2(128) DEFAULT NULL,
attempts BINARY_INTEGER,
recipient_list DBMS_AQ.aq$_ recipient_list_t,
exception_queue VARCHAR2(51) DEFAULT NULL,
enqueue_time DATE,
state BINARY_INTEGER);
TYPE enqueue_options_t IS RECORD
(visibility BINARY_INTEGER DEFAULT DBMS_AQ.on_commit,
relative_msgid RAW(16) DEFAULT NULL,
sequence_deviation BINARY_INTEGER DEFAULT NULL);
TYPE dequeue_options_t IS RECORD
(consumer_name VARCHAR2(30) DEFAULT NULL,
dequeue_mode BINARY_INTEGER DEFAULT DBMS_AQ.remove,
navigation BINARY_INTEGER DEFAULT
DBMS_AQ.next_message,
visibility BINARY_INTEGER DEFAULT
DBMS_AQ.on_commit,
wait BINARY_INTEGER DEFAULT
DBMS_AQ.forever,
msgid RAW(16) DEFAULT NULL,
correlation VARCHAR2(128) DEFAULT NULL) ;
DBMS_AQADM
exception_queue CONSTANT BINARY_INTEGER := 1;
infinite CONSTAMT BINARY_INTEGER : = -1
none CONSTANT BINARY_INTEGER := 0;
normal_queue CONSTANT BINARY_INTEGER := 0;
transactional COMSTANT BINARY_INTEGER := 1;
TYPE aq$_subscriber_list_t IS TABLE OF sys.aq$_agent
INDEX BY BINARY_INTEGER;
DBMS_DESCRIBE
TYPE varchar2_table IS TABLE OF VARCHAR2(30) INDEX BY
BINARY_INTEGER;
TYPE number_table IS TABLE OF NUMBER INDEX BY
BINARY_INTEGER;
DBMS_LOB
invalid_argval EXCEPTICN;
PRAGMA EXCEPTION_INIT(invalid_argval, -21560);
access_error EXCEPTION;
PRAGMA EXCEPTION_INIT(access_error, -22925);
noexist_directory EXCEPTION;
PRAGMA EXCEPTION_INIT(noexist_directory,-22285) ;
nopriv_directory EXCEPTION;
PRAGMA EXCEPTION_INIT(nopriv_directory,-22286) ;
invalid_directory EXCEPTION;
PRAGMA EXCEPTION_INIT(invalid_directory,-22287);
operation_failed EXCEPTION;
PRAGMA EXCEPTION_INIT(operation_failed,-22288) ;
unopened_file EXCEPTION;
PRAGMA EXCEPTION_INIT(unopened_file, -22289);
open_toomany EXCEPTION;
PRAGMA EXCEPTION_INIT(open_toomany, -22290);
file_readonly CONSTANT BINARY_INTEGER := 0;
lobmaxsize CONSTANT INTEGER := 4294967295;
invalid_argval_num NUMBER := 21560;
access_error_num NUMBER := 22925;
noexist_directory_num NUMBER := 22285;
nopriv_directory_num NUMBER := 22286;
invalid_directory_num NUMBER := 22287;
operation_failed_num NUMBER := 22288;
unopened file_num NUMBER := 22289;
open_toomany_num NUMBER := 22290;
DBMS_LOCK
nl_mode CONSTANT INTEGER = 1;
ss_mode CONSTANT INTEGER = 2;
sx_mode CONSTANT INTEGER = 3;
s_mode CONSTANT INTEGER = 4;
ssx_mode CONSTANT INTEGER = 5;
x_mode CONSTANT INTEGER = 6;
maxwait CONSTANT INTEGER = 32767;
DBMS_OUTPUT
TYPE chararr IS TABLE OF VARCHAR2(255)
INDEX BY BINARY_INTEGER;
DBMS_PIPE
maxwait CONSTANT INTEGER := 86400000;
DBMS_ROWID
rowid_invalid EXCEPTION;
PRAGMA EXCEPTION_INIT(rowid_invalid, -1410);
rowid_bad_block EXCEPTION;
PRAGMA EXCEPTION_INIT(rowid_bad_block, -28516);
rowid_convert_external CONSTANT INTEGER := 1;
rowid_convert_internal CONSTANT INTEGER := 0;
rowid_is_invalid CONSTANT INTEGER := 1;
rowid_is_valid CONSTANT INTEGER := 0;
rowid_object_undefined CONSTANT INTEGER := 0;
rowid_type_extended CONSTANT INTEGER := 1;
rowid_type_restricted CONSTANT INTEGER := 0;
DBMS_SQL
inconsistent_type EXCEPTION;
PRAGMA EXCEPTION_INIT(inconsistent_type,-6562) ;
v6 CONSTANT INTEGER := 0;
native CONSTANT INTEGER := 1;
v7 CONSTANT INTEGER := 2;
TYPE varchar2s IS TABLE OF VARCHAR2(256)
INDEX BY BINARY_INTEGER;
TYPE desc_rec IS RECORD
(col_type BINARY_INTEGER := 0,
col_max_len BINARY_INTEGER := 0,
col_name varchar2(32) :=   ,
col_name_len BINARY_INTEGER := 0,
col_schema_name VARCHAR2(32) := '',
ol_schema_name_len BINARY_INTEGER := 0,
col_precision BINARY_INTEGER := 0,
col_scale BINARY_INTEGER := 0,
col_charsetid BINARY_INTEGER := 0,
col_charsetform BINARY_INTEGER : = 0,
col_null_ok BOOLEAN := TRUE);
TYPE desc_tab IS TABLE OF desc_rec
INDEX BY BINARY_INTEGER;
TYPE number_table IS TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
TYPE varchar2_table IS TABLE OF VARCHAR2(2000)
INDEX BY BINARY_INTEGER;
TYPE date_table IS TABLE OF DATE
INDEX BY BINARY_INTEGER;
TYPE blob_table IS TABLE OF BLOB
INDEX BY BINARY_INTEGER;
TYPE clob_table IS TABLE OF CLOB
INDEX BY BINARY_INTEGER;
TYPE bfile_table IS TABLE OF BFILE
INDEX BY BINARY INTEGER;
DBMS_ TRANSACTION
discrete_transaction_failed EXCEPTION ;
PRAGMA EXCEPTION_INIT (discrete_ transaction_failed,
-8175);
consistent_read_failure EXCEPTION;
PRAGMA EXCEPTION_INIT (consistent_read_failure,-8176);
DBMS_ UTILITY
TYPE uncl_array IS TABLE OF VARCHAR2(227)
INDEX BY BINARY_INTEGER;
TYPE name_array IS TABLE OF VARCHAR2(30)
INDEX BY BINARY_INTEGER;
TYPE dblink_array IS TABLE OF VARCHAR2(128)
INDEX BY BINARY_INTEGER;
TYPE index_table_type IS TABLE OF BINARY_INTEGER
INDEX BY BINARY_INTEGER;
TYPE number_array IS TABLE OF NUMBER
INDEX BY BINARY INTEGER;
UTL_FILE
internal_error EXCEPTION;
invalid_filehandle EXCEPTION;
invalid_mode EXCEPTION;
invalid_operation EXCEPTION;
invalid_path EXCEPTION;
read_error EXCEPTION;
write_error EXCEPTION;
TYPE file_type IS RECORD (id BINARY_INTEGER),
STANDARD
Poni\ej zamieszczono nieprogramistyczne elementy pakietu STANDARD.
Wyjątki
dup_val_on_index EXCEPTION;
PRAGMA EXCEPTION_INIT(dup_val_on_index, -0001 ) ;
timeout_on_resource EXCEPTION;
PRAGMA EXCEPTION_INIT(timeout_on_resource, -0051 ) ;
invalid_cursor EXCEPTION;
PRAGMA EXCEPTION_INIT(invalid cursor,'-1001');
not_logged_on EXCEPTION;
PRAGMA EXCEPTION_INIT(not_logged_on, ' -1012' ) ;
login_denied EXCEPTION;
PRAGMA EXCEPTION_INIT(login_denied, '-1017');
too_many_rows EXCEPTION;
PRAGMA EXCEPTION_INIT(too_many_rows, '-1422');
zero_divide EXCEPTION;
PRAGMA EXCEPTION_INIT(zero_divide, '-1476');
invalid_number EXCEPTION;
PRAGMA EXCEPTION_INIT(invalid_number, ' -1722 ' ) ;
storage_error EXCEPTION;
PRAGMA EXCEPTION_INIT(storage_error, '-6500');
program_error EXCEPTION;
PRAGMA EXCEPTION_INIT(program_error, '-6501');
value_error EXCEPTION;
PRAGMA EXCEPTION_INIT(value_error, '-6502');
rowtype_mismatch EXCEPTION;
PRAGMA EXCEPTION_INIT(rowtype_mismatch, -6504 ) ;
cursor_already_open EXCEPTION;
PRAGMA EXCEPTION_INIT(cursor_already_open, -6511 );
access_into_null EXCEPTION;
PRAGMA EXCEPTION_INIT (access_into_null, -6530 );
collection_is_null EXCEPTION;
PRAGMA EXCEPTION_INIT(collection_is_null , -6531 );
subscript_outside_limit EXCEPTION;
PRAGMA
EXCEPTION_INIT(subscript_outside_limit,'-6532');
subscript_beyond_count EXCEPTION;
PRAGMA EXCEPTION_INIT(subscript_beyond_count'-6533');
no_data_found EXCEPTION;
PRAGMA EXCEPTION INIT(no data found, 100);
Typy danych numerycznych
TYPE NUMBER IS NUMBER_BASE;
SUBTYPE BINARY_INTEGER IS INTEGER RANGE  -2147483647
..2147483647;
SUBTYPE CURSOR_HANDLE IS BINARY_INTEGER RANGE 0..255;
SUBTYPE DEC IS DECIMAL;
SUBTYPE DECIMAL IS NUMBER(38,0);
SUBTYPE "DOUBLE PRECISION" IS FLOAT;
SUBTYPE FLOAT IS NUMBER; -- NUMBER(126)
SUBTYPE INT IS INTEGER;
SUBTYPE INTEGER IS NUMBER(38,0);
SUBTYPE NATURAL IS BINARY_INTEGER RANGE 0..2147483647;
SUBTYPE NATURALN IS NATURAL NOT NULL;
SUBTYPE NUMERIC IS DECIMAL;
SUBTYPE PLS_INTEGER IS BINARY_INTEGER;
SUBTYPE POSITIVE IS BINARY_INTEGER RANGE 1..2147483647;
SUBTYPE POSITIVEN IS POSITIVE NOT NULL;
SUBTYPE REAL IS FLOAT; -- FLOAT(63)
SUBTYPE SIGNTYPE IS BINARY_INTEGER RANGE  -1 ..1; -- dla
funkcji SIGN
SUBTYPE SMALLINT IS NUMBER(38,0);
Typy danych znakowych
TYPE VARCHAR2 IS NEW CHAR_BASE;
SUBTYPE CHAR IS VARCHAR2;
SUBTYPE CHARACTER IS CHAR;
SUBTYPE "CHAR VARYING" IS VARCHAR;
SUBTYPE "CHARACTER VARYING" IS VARCHAR;
SUBTYPE LONG IS VARCHAR2(32760);
SUBTYPE "LONG RAW" IS RAW(32760);
SUBTYPE RAW IS VARCHAR2;
SUBTYPE ROWID IS VARCHAR2(256);
SUBTYPE STRING IS VARCHAR2;
SUBTYPE VARCHAR IS VARCHAR2;
SUBTYPE "NCHAR" IS CHAR CHARACTER SET NCHAR_CS;
SUBTYPE "NCHAR VARYING" IS VARCHAR CHARACTER SET
NCHAR_CS;
SUBTYPE "NCLOB" IS CLOB CHARACTER SET NCHAR_CS; SUBTYPE
"NVARCHAR2" IS VARCHAR2 CHARACTER SET NCHAR_CS;
SUBTYPE "NATIONAL CHAR VARYING" IS VARCHAR CHARACTER SET
NCHAR_CS;
SUBTYPE "NATIONAL CHAR" IS CHAR CHARACTER SET NCHAR_CS;
SUBTYPE "NATIONAL CHARACTER LARGE OBJECT" IS CLOB
CHARACTER SET NCHAR_CS;
SUBTYPE "NATIONAL CHARACTER VARYING" IS VARCHAR CHARACTER
SET NCHAR_CS;
SUBTYPE "NATIONAL CHARACTER" IS CHAR CHARACTER SET
NCHAR_CS;
SUBTYPE "NCHAR LARGE OBJECT" IS CLOB CHARACTER NCHAR_CS;
Typy danych LOB
TYPE BFILE IS BFILE_BASE;
TYPE BLOB IS BLOB_BASE;
TYPE CLOB IS CLOB_BASE;
SUBTYPE "BINARY LARGE OBJECT" IS BLOB;
SUBTYPE "CHAR LARGE OBJECT" IS CLOB;
SUBTYPE "CHARACTER LARGE OBJECT" IS CLOB;
Inne typy danych
TYPE BOOLEAN IS (FALSE, TRUE);
TYPE DATE IS DATE_BASE;
TYPE MLSLABEL IS NEW CHAR_BASE;


Wyszukiwarka