background image

 
 
 

Oracle PL/SQL Pakiety i funkcje 

Leksykon kieszonkowy 

background image

 

Niniejszy leksykon, to podręczne źró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 

background image

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óźniej w sekcji „Wbudowane funkcje". 
Pakiet DBMS_STANDARD opisany później 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 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 komunikat 
zawierają informację alarmu. Jeśli status = l, to minął dozwolony czas 
oczekiwania przed nadejściem zawiadomienia. 
 

background image

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 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 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

 

background image

(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ądź teŜ nazwą obiektu o określonym typie. Zwraca wskaźnik 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óźnienie 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);

 

background image

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óźnienie 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. 
 

background image

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 

background image

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,

 

background image

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). 

background image

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, źródłowy_lob IN BLOB);

 

 
PROCEDURE DBMS_LOB.APPEND

 

(docelowy_lob IN OUT CLOB CHARACTER SET

 

ANY_CS,

 

ź

ródłowy_lob  IN CLOB CHARACTER SET 

docelowy_lob%CHARSET) ; 
Dołącza zawartość źródłowego obiektu LOB źró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 lob_2 lub plik_1 plik_2 na obszarze 
ilość 

bajtów, opcjonalnie rozpoczynając od pozycji offset_1 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ądź mniejsze od 1, bądź większe od lobmaxsize. 

PROCEDURE DBMS_LOB.COPY

 

(docelowy_lob IN OUT BLOB,

 

ź

ródlowy_lob IN BLOB,

 

ilość IN INTEGER,

 

docelowy_offset IN INTEGER := 1,

 

ź

ródłowy_offset IN INTEGER := 1);

 

 
PROCEDURE DBMS_LOB.COPY

 

background image

(docelowy_lob IN OUT CLOB CHARACTER SET ANY_CS,

 

ź

ródłowy_lob IN CLOB CHARACTER SET dest_lob%CHARSET,

 

ilość IN INTEGER,

 

docelowy_offset IN INTEGER := 1,

 

ź

ródlowy_offset IN INTEGER := 1);

 

Kopiuje ilość bajtów (BLOB) lub znaków (CLOB) ze źródłowego LOB 
ź

ródłowy_lob, 

rozpoczynając od pozycji źró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)  

background image

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, 
ź

ródłowy_lob IN BFILE, ilość IN INTEGER,

 

docelowy_offset IN INTEGER := 1źródłowy_offset IN 
INTEGER := 1);

 

Kopiuje określoną ilość bajtów ze źródłowego obiektu BFILE źródłowy_lob do 
docelowego obiektu LOB docelowy_lob, rozpoczynając od pozycji 
ź

ródłowy_offset 

w bajtach obiektu źró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

 

background image

(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 
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 

background image

= 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 
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);

 

background image

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 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)  

background image

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 wskaźniki 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 

background image

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ć 

background image

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 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

 

background image

(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 
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); 

background image

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, lub q dla sekwencji oraz 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);

 

background image

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). 
 

background image

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,  
<tabela IN typ_danych>  
[,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. <tabela IN typ_danych> 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 

background image

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, <parametr_tabeli IN typ_tabeli>);

 

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 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 

background image

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, <parametr_tabeli 
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 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,  

background image

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)  

background image

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;

 

background image

Zwraca wskaźnik 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 <typ_tabeli>);

 

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  

background image

(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;

 

background image

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. 

background image

 
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ę. 

background image

 
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,  

background image

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 
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;

 

background image

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; 

background image

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  

background image

(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)  

background image

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 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 

background image

(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 na RAW. 
FUNCTION UTL_RAW.CAST_TO_VARCHAR2

 

(r IN RAW) RETURN VARCHAR2;

 

Dokonuje konwersji typu RAW wartości 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ść po konwersji z zestawu znaków wej_charset na zestaw 

background image

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 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 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ść 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 

background image

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, 

background image

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)  

background image

RETURN BINARY_INTEGER;

 

Zwraca pozycję znaku n-krotnego wystąpienia łańcucha tekst2 w łańcuchu tekst1. 
Wyszukiwanie rozpoczyna się od pozycji poz 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.

 

background image

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,

 

ź

ró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. 

background image

 
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ść 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;

 

background image

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ść do 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 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 

background image

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ść typu VARCHAR kodowaną heksadecymalnie jako łańcuch 
znakowy RAW. 
FUNCTION RAWTOHEX (r IN RAW) RETURN VARCHAR2;

 

Zwraca łańcuch znakowy 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]

 

background image

[,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 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. 

background image

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 

background image

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 

FILEEXISTS 

FILEISOPEN 

GETLENGTH 

INSTR 

SUBSTR 

 

background image

 
Programy DBMS_OUTPUT  WNDS  RNDS 

WNPS  RNPS 

DISABLE 

 

 

ENABLE 

 

 

GET_LINE 

 

 

GET_LINES 

 

 

NEW_LINE 

 

 

PUT 

 

 

PUT_LINE 

 

 

 
Programy DBMS_PIPE 

WNDS  RNDS  WNPS  RNPS 

CREATE_PIPE 

 

 

NEXT_ITEM_TYPE 

 

 

PACK_MESSAGE 

 

 

PACK_MESSAGE_RAW 

 

 

PACK_MESSAGE_ROWID 

 

 

PURGE 

 

 

RECEIVE_MESSAGE 

 

 

REMOVE PIPE 

 

 

RESET_BUFFER 

 

 

SEND_MESSAGE 

 

 

UNIQUE_SESSION_NAME 

 

UNPACK_MESSAGE 

 

 

UNPACK_MESSAGE_RAW 

 

 

UNPACK_MESSAGE_ROWID  V 

 

 

 
Programy DBMS_ROWID 

WNDS RNDS  WNPS  RNPS 

ROWID_BLOCK_NUMBER 

ROWID_CREATE 

ROWID_INFO 

ROWID_OBJECT 

ROWID_RELATIVE_FNO 

ROWID_ROW_NUMBER 

ROWID_TO_ABSOLUTE_FNO  V 

 

ROWID_TO_EXTENDED 

 

ROWID_TO_ RESTRICTED 

ROWID_TYPE 

ROWID_VERIFY 

 

 
Programy DBMS_SESSION 

WNDS  RNDS  WNPS  RNPS 

UNIQUE_SESSION_ID 

 

 

background image

Programy DBMS_SQL 

WNDS  RNDS 

WNPS 

RNPS 

BIND_ARRAY 

 

 

 

BIND_VARIABLE 

 

 

 

BIND_VARIABLE_CHAR 

 

 

 

BIND_VARIABLE_RAW 

 

 

 

BIND_VARIABLE_ROWID  V 

 

 

 

CLOSE_CURSOR 

 

 

COLUMN_VALUE 

 

 

COLUMN_VALUE_CHAR  V 

 

 

COLUMN_VALUE_LONG  V 

 

 

COLUMN_VALUE_RAW 

 

 

COLUMN_VALUE_ROWID  V 

 

 

DEFINE_ARRAY 

 

 

DEFINE_COLUMN 

 

 

DEFINE_COLUMN_CHAR  V 

 

 

DEFINE_COLUMN_LONG  V 

 

 

DEFINE_COLUMN_RAW 

 

 

DEFINE_COLUMN_ROWID  V 

 

 

DESCRIBE_COLUMNS 

 

 

 

EXECUTE_AND_FETCH 

 

 

 

FETCH_ROWS 

 

 

 

IS_OPEN 

 

 

 
Programy DBMS_SQL 

WNDS  RNDS  WNPS  RNPS 

LAST_ERROR_POSITON 

 

 

LAST_ROW_COUNT 

 

 

LAST_ROW_ID 

 

 

LAST_SQL_FUNCTION_CODE  V 

 

 

OPEN_CURSOR 

 

 

VARIABLE_VALUE 

 

 

VARIABLE_VALUE_CHAR 

 

 

VARIABLE_VALUE_RAW 

 

 

VARIABLE_VALUE_ROWID 

 

 

 
Programy DBMS_STANDARD 

WNDS  RNDS  WNPS  RNPS 

DELETING 

 

INSERTING 

 

RAISE_APPLICATION_ERROR  V 

UPDATING 

 

 

background image

 

Programy DBMS_UTILITY 

WNDS 

RNDS 

WNPS 

RNPS 

DATA_BLOCK_ADDRESS_BLOCK  V 

DATA_BLOCK_ADDRESS_FILE 

GET_HASH_VALUE 

MAKE_DATA_BLOCK_ADDRESS 

PORT_STRING 

 
Programy UTL RAW 

WNDS 

RNDS 

WNPS 

RNPS 

BIT_AND 

BIT_COMPLEMENT 

BIT_OR 

BIT_XOR 

CAST_TO_RAW 

CAST TO VARCHAR2 

 
Programy UTL_RAW 

WNDS 

RNDS 

WNPS 

RNPS 

COMPARE 

CONCAT 

CONVERT 

COPIES 

LENGTH 

OVERLAY 

REVERSE 

SUBSTR 

TRANSLATE 

TRANSLITERATE 

XRANGE 

 
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

 

background image

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,  

background image

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);

 

background image

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;

 

background image

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

 

background image

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;

 

background image

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;

 

background image

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;

 

background image

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;