Dziękujemy za zakup książki Oracle 10g. Programowanie w języku PL/SQL!

Przykłady zostały podzielone według rozdziałów i odpowiadają tym znajdującym się w książce. Każdy rozdział zawiera skrypt tworzący schemat z wszystkimi potrzebnymi uprawnieniami. W różnych rozdziałach przyznawane są odmienne uprawnienia, dlatego należy uruchomić skrypt powiązany z każdym rozdziałem i nie polegać na schematach utworzonych na potrzeby innych rozdziałów. Aby uniknąć problemów z uprawnieniami, zalecamy użycie udostępnionych skryptów tworzących schemat, jednak można też utworzyć własny schemat i przyznać mu wszystkie niezbędne uprawnienia.

Przykłady w poszczególnych rozdziałach działają niezależnie od obiektów utworzonych w innych rozdziałach. Mówiąc inaczej - nie występują zależności między rozdziałami. Oznacza to, że można przeskoczyć z rozdziału 10. do 17. i bez problemów uruchomić przykłady z tego ostatniego.

W czasie tworzenia bazy danych nie zapomnij o zainstalowaniu Oracle Text, ponieważ ten mechanizm jest używany w przykładach z wielu rozdziałów. Jeśli go nie zainstalujesz, niektóre przykłady nie będą działać i wystąpią błędy w czasie tworzenia schematu. Oracle Text jest dostępny w wersjach Standard i Enterprise Oracle, dlatego można korzystać z każdej z nich.

Wszystkie przykłady zostały przetestowane w Oracle 10gR1 w wersjach dla systemów Windows i Linux. Jeśli wystąpią jakieś problemy przy uruchamianiu skryptów, możesz napisać na adres: FEEDBACK@PLSQLBOOK.COM, a postaramy się jak najszybciej odpowiedzieć na zadane pytania.

Dziękujemy!


PRZYKŁADY

Rozdział 1 Rozdział 5 Rozdział 9 Rozdział 13 Rozdział 17
Rozdział 2 Rozdział 6 Rozdział 10 Rozdział 14  
Rozdział 3 Rozdział 7 Rozdział 11 Rozdział 15  
Rozdział 4 Rozdział 8 Rozdział 12 Rozdział 16  

 

Rozdział 1: Wprowadzenie do języka

CreateUser.sql Ten skrypt tworzy użytkownika plsql na potrzeby przykładów z rozdziału 1. Trzeba uruchomić ten skrypt z konta SYS, SYSTEM lub SYSDBA. Można go uruchamiać wielokrotnie.
PlsqlBlock.sql Ten skrypt zawiera przykładowy blok kodu języka PL/SQL.

Rozdział 2: Używanie narzędzi SQL*Plus i JDeveloper

CreateUser.sql Ten skrypt tworzy użytkownika plsql na potrzeby przykładów z rozdziału 2. Trzeba uruchomić ten skrypt z konta SYS, SYSTEM lub SYSDBA. Można go uruchamiać wielokrotnie.
DbmsOutput.sql Ten skrypt demonstruje zastosowanie pakietu DBMS_OUTPUT.
Debug.sql Ten skrypt demonstruje używanie PL/SQL w środowisku JDeveloper.

Rozdział 3: Podstawy języka PL/SQL

CreateUser.sql >Ten skrypt tworzy użytkownika plsql na potrzeby przykładów z rozdziału 3. Trzeba uruchomić ten skrypt z konta SYS, SYSTEM lub SYSDBA. Można go uruchamiać wielokrotnie.
AnonymousBlock.sql Ten skrypt demonstruje strukturę bloku anonimowego.
BindVariables.sql Ten skrypt demonstruje zmienne powiązane.
BlockStructure.sql Ten skrypt demonstruje strukturę bloku.
Boolean.sql Ten skrypt demonstruje przypisywanie wartości do zmiennych logicznych.
BooleanLiteral.sql Ten skrypt demonstruje literały logiczne.
Case.sql Ten skrypt demonstruje instrukcję CASE.
CompileError.sql Ten skrypt demonstruje ostrzeżenia czasu kompilacji generowane przez Oracle.
CompileWarning.sql Ten skrypt demonstruje pakiet DBMS_WARNING.
DateTimeLiteral.sql Ten skrypt demonstruje literały z datami i czasem.
Goto.sql Ten skrypt demonstruje instrukcję GOTO.
If.sql Ten skrypt demonstruje instrukcje IF-THEN, IF-THEN-ELSE oraz IF-THEN-ELSIF.
Interval.sql Ten skrypt demonstruje zastosowanie typów INTERVAL.
Loop.sql Ten skrypt demonstruje pętle.
MultiLineComment.sql Ten skrypt demonstruje zastosowanie komentarzy wielowierszowych.
NamedBlock.sql Ten skrypt demonstruje strukturę bloku nazwanego.
NestedBlock.sql Ten skrypt demonstruje blok zagnieżdżony.
Number.sql Ten skrypt demonstruje typ danych NUMBER.
PLSQL_Warnings.sql Ten skrypt demonstruje parametr PLSQL_WARNINGS z pliku init.ora.
Ref_Cursor.sql Ten skrypt demonstruje zastosowania kursorów REFCURSOR.
Reserved.sql Ten skrypt wyświetla listę słów zarezerwowanych.
SingleLineComment.sql Ten skrypt demonstruje zastosowanie komentarzy jednowierszowych.
StringLiteral.sql Ten skrypt demonstruje różne sposoby obsługi apostrofów w Oracle 10g.
Timestamp.sql Ten skrypt demonstruje typy danych z rodziny TIMESTAMP.
Trigger.sql Ten skrypt demonstruje zastosowanie wyzwalaczy.
Variables.sql Tek skrypt deklaruje zmienną jako stałą, a następnie próbuje zmienić przypisaną wartość.
Visibility.sql Ten skrypt demonstruje widoczność zmiennych.
WhiteSpace.sql Ten skrypt demonstruje nieelegancki projekt, w którym brak odstępów.
WrapAfter.plb Ten plik pokazuje, jak wygląda opakowany skrypt.
WrapBefore.sql Plik używany w przykładzie demonstrującym opakowywanie kodu PL/SQL.
WrapSeed.sql Ten skrypt demonstruje narzędzie Wrap.

Rozdział 4: Używanie języka SQL w PL/SQL

CreateUser.sql >Ten skrypt tworzy użytkownika plsql na potrzeby przykładów z rozdziału 4. Trzeba uruchomić ten skrypt z konta SYS, SYSTEM lub SYSDBA. Można go uruchamiać wielokrotnie.
Autonomous.sql Ten skrypt demonstruje działanie transakcji autonomicznych.
BasicSelect.sql Ten skrypt demonstruje prostą instrukcję SELECT.
ContextArea1.sql Ten skrypt demonstruje, jak działają kursory w kontekście i zachowują spójność po otwarciu.
ContextArea2.sql Ten skrypt demonstruje, jak na przetwarzanie rekordów wpływają zmiany w bazie danych wprowadzone po otwarciu kursora.
Conversion.sql Ten skrypt demonstruje działanie funkcji do konwersji danych między typami TO_CHAR i TO_DATE.
CursorForLoop.sql Ten skrypt demonstruje zastosowanie kursorowych pętli for.
CursorSubquery.sql Ten skrypt demonstruje zastosowanie kursorowych zapytań podrzędnych.
CursorVariable1.sql Ten skrypt demonstruje zastosowanie zmiennych kursorowych REF CURSOR.
CursorVariable2.sql Ten skrypt demonstruje zastosowanie zmiennych kursorowych SYS_REFCURSOR.
DateTime.sql Ten skrypt demonstruje kilka funkcji do obsługi dat.
DDL.sql Ten skrypt demonstruje niemożność korzystania z poleceń DDL w kodzie PL/SQL.
Delete.sql Ten skrypt demonstruje działanie instrukcji DELETE w kodzie PL/SQL.
Error.sql Ten skrypt demonstruje funkcje do obsługi błędów - SQLERRM i SQLCODE.
ExplicitAttribute.sql Ten skrypt demonstruje zastosowanie atrybutów kursora.
GreatestLeast.sql Ten skrypt demonstruje działanie funkcji Greatest i Least.
ImplicitAttribute.sql Ten skrypt demonstruje zastosowanie atrybutów kursorów.
Insert.sql Ten skrypt demonstruje działanie instrukcji INSERT w kodzie PL/SQL.
Level.sql This script shows the pseudocolumn LEVEL and an example of using the levels.
LevelUpdate.sql Ten skrypt demonstruje pseudokolumnę LEVEL i przykład zastosowania poziomów.
Like.sql Ten skrypt demonstruje zastosowanie operatora LIKE.
LockSession1.sql Ten skrypt demonstruje blokady, zatwierdzanie i anulowanie w transakcjach. Niniejszy skrypt należy uruchomić w pierwszej sesji, jak opisuje to książka.
LockSession2.sql Ten skrypt demonstruje blokady, zatwierdzanie i anulowanie w transakcjach. Skrypt należy uruchomić w drugiej sesji, jak opisuje to książka.
Lower.sql Ten skrypt demonstruje działanie funkcji LOWER.
NDS.sql Ten skrypt demonstruje działanie języka NDS w kodzie PL/SQL.
OpenCursor.sql Ten skrypt demonstruje, co się stanie, jeśli liczba otwartych kursorów przekroczy wartość open_cursors. Na potrzeby tego przykładu należy ustawić wartość open_cursors w pliku init.ora na 20.
RegexpLike.sql Ten skrypt demonstruje zastosowanie funkcji REGEXP_LIKE.
Round.sql Ten skrypt demonstruje działanie funkcji ROUND.
RowID.sql Ten skrypt demonstruje zastosowanie pseudokolumny rowid.
Savepoint.sql Ten skrypt demonstruje używanie punktów zapisu w transakcjach.
SimpleLoop.sql Ten skrypt demonstruje, jak działają proste pętle.
TextIndex.sql Ten skrypt demonstruje indeksowanie przy użyciu Oracle Text.
Update.sql Ten skrypt demonstruje działanie instrukcji UPDATE w kodzie PL/SQL.
UpdateDual.sql Ten skrypt demonstruje działanie poleceń DML w PL/SQL.
WhereCurrentOf.sql Ten skrypt demonstruje działanie instrukcji UPDATE z klauzulą WHERE CURRENT OF w kodzie PL/SQL.
WhileLoop.sql Ten skrypt demonstruje zastosowanie pętli WHILE.

Rozdział 5: Rekordy

create_addressbook1.sql Ten skrypt tworzy przykładowe obiekty za pomocą standardowych typów danych Oracle.
create_function1.sql Ten skrypt demonstruje używanie typów rekordowych jako wartości zwracanych przez funkcję.
create_function2.sql Ten skrypt demonstruje używanie typów rekordowych jako wartości zwracanych przez funkcję.
create_function2e.sql Ten skrypt demonstruje, że nie można niejawnie przypisać wartości typu rekordowego do typu obiektowego.
create_record1.sql Ten skrypt demonstruje używanie typu rekordowego do zapełniania tabeli.
create_record2.sql Ten skrypt demonstruje używanie jawnych definicji do definiowania typu rekordowego.
create_record3.sql Ten skrypt demonstruje używanie jawnych definicji do zdefiniowania typów rekordowych i złożonego typu rekordowego oraz korzystanie z typów zagnieżdżonych.
create_record4.sql Ten skrypt demonstruje używanie obiektu bazy danych do definiowania typu rekordowego.
create_record5.sql Ten skrypt demonstruje używanie złożonych obiektów bazych danych do definiowania typu rekordowego.
create_record6.sql Ten skrypt demonstruje używanie jawnych definicji do zdefiniowania typów rekordowych i złożonego typu rekordowego oraz korzystanie z typów zagnieżdżonych.
create_record7.sql Ten skrypt demonstruje przekazywanie obiektów bazy danych jako argumentów do procedur.
create_user.sql Ten skrypt sprawdza i definiuje użytkownika PLSQL.
query_record1.sql Ten skrypt sprawdza powodzenie działania poniższych skryptów: - create_record1.sql - create_record2.sql - create_record3.sql

Rozdział 6: Kolekcje

bulk_collect1.sql Ten skrypt demonstruje, jak stosować masowe pobieranie danych do tablicy asocjacyjnej.
bulk_collect2.sql Ten skrypt demonstruje, jak stosować masowe pobieranie danych do tabeli zagnieżdżonej.
bulk_collect3.sql Ten skrypt demonstruje, jak pobierać dane do elementów tabeli języka PL/SQL bez stosowania pobierania masowego.
count.sql Ten skrypt demonstruje używanie metody COUNT z API Collection w Oracle10g.
create_addressbook2.sql Ten skrypt tworzy obiekty na potrzeby przykładu, używając standardowych typów danych Oracle we wszystkich kolumnach oprócz jednej. Kolumna ADDRESSES.STREET_ADDRESS to tablica varray elementów VARCHAR2(30 CHAR).
create_addressbook2e.sql Ten skrypt tworzy obiekty na potrzeby przykładu, używając standardowych typów danych Oracle we wszystkich kolumnach oprócz jednej.
create_addressbook3.sql Ten skrypt tworzy obiekty na potrzeby przykładu, używając standardowych typów danych Oracle we wszystkich kolumnach oprócz jednej.
create_addressbook3e.sql Ten skrypt tworzy obiekty na potrzeby przykładu, używając standardowych typów danych Oracle we wszystkich kolumnach oprócz jednej.
create_assocarray1.sql Ten skrypt tworzy tablicę asocjacyjną.
create_assocarray2.sql Ten skrypt demonstruje, że nie można poruszać się po tablicach asocjacyjnych do czasu zainicjowania elementów.
create_assocarray3.sql Ten skrypt demonstruje, że można uniknąć poruszania się po tablicy asocjacyjnej bez zainicjowanych elementów.
create_assocarray4.sql Ten skrypt demonstruje, że nie można używać metody EXTEND z API Collection do przydzielania pamięci.
create_assocarray5.sql Ten skrypt demonstruje inicjowanie i przypisywanie danych tablicy asocjacyjnej przy użyciu indeksów liczbowych.
create_assocarray5e.sql Ten skrypt demonstruje inicjowanie i przypisywanie danych tablicy asocjacyjnej przy użyciu indeksów liczbowych.
create_assocarray6.sql Ten skrypt demonstruje inicjowanie i przypisywanie danych tablicy asocjacyjnej przy użyciu indeksów w postaci niepowtarzalnych łańcuchów znaków.
create_nestedtable1.sql Ten skrypt definiuje tabelę zagnieżdżoną utworzoną za pomocą trzech konstruktorów z elementem null.
create_nestedtable2.sql Ten skrypt tworzy pustą tabelę zagnieżdżoną, a następnie rozszerza ją po jednym elemencie.
create_nestedtable3.sql Ten skrypt tworzy w bazie danych pustą tabelę zagnieżdżoną, a następnie rozszerza ją po jednym elemencie.
create_nestedtable4.sql Ten skrypt tworzy dwie tablice varray i jedną tabelę zagnieżdżoną w bazie danych, a następnie przypisuje zawartość tablic varray do tej tabeli.
create_user.sql Ten skrypt sprawdza i definiuje użytkownika PLSQL.
create_varray1.sql Ten skrypt definiuje tablicę varray za pomocą konstruktora i trzech wartości null.
create_varray2.sql Ten skrypt definiuje tablicę varray za pomocą konstruktora i elementu null, a następnie rozszerza ją po jednym elemencie.
create_varray3.sql Ten skrypt definiuje tablicę varray za pomocą konstruktora i trzech elementów null, a następnie próbuje zapełnić ją poza trzecim elementem.
create_varray4.sql Ten skrypt definiuje tablicę varray za pomocą konstruktora i elementu null, a następnie rozszerza ją po jednym elemencie.
delete.sql Ten skrypt demonstruje używanie metody DELETE z API Collection w Oracle10g dla zbioru elementów.
exists.sql Ten skrypt demonstruje używanie metody EXISTS z API Collection w Oracle10g dla elementu.
extend.sql Ten skrypt demonstruje używanie metody EXTEND z API Collection w Oracle10g dla elementu.
first.sql Ten skrypt demonstruje używanie metod FIRST i LAST z API Collection w Oracle10g dla kolekcji.
limit.sql Ten skrypt demonstruje używanie metody LIMIT z API Collection w Oracle10g dla kolekcji.
nestedtable_dml1.sql Ten skrypt demonstruje używanie funkcji składowanych do obsługi relacji "jeden do wielu" w tabeli zagnieżdżonej w wierszu danych.
nestedtable_dml2.sql Ten skrypt demonstruje aktualizowanie tabel zagnieżdżonych.
nestedtable_dml3.sql Ten skrypt demonstruje aktualizowanie elementów tabeli zagnieżdżonej.
nestedtable_dml4.sql Ten skrypt demonstruje aktualizację elementów tabeli zagnieżdżonej.
trim.sql Ten skrypt demonstruje używanie metody TRIM z API Collection w Oracle10g dla kolekcji.
varray_dml1.sql Ten skrypt wstawia dane do tablicy varray i wczytuje je.
varray_dml2.sql Ten skrypt demonstruje aktualizowanie tablic varray.
varray_dml3.sql Ten skrypt demonstruje aktualizowanie elementów tablic varray.
varray_dml4.sql Ten skrypt demonstruje aktualizowanie elementów tablic varray.

Rozdział 7: Obsługa błędów

W przypadku tych przykładów upewnij się, że uruchomiłeś skrypt tables.sql po utworzeniu schematu. Wszystkie pozostałe skrypty zależą od obiektów tworzonych w pliku tables.sql.

CreateUser.sql Ten skrypt tworzy użytkownika plsql na potrzeby przykładów z rozdziału 7. Trzeba uruchomić ten skrypt z konta SYS, SYSTEM lub SYSDBA. Można go uruchamiać wielokrotnie.
autoRollback.sql Ten skrypt demonstruje, w jaki sposób serwer cofa bieżącą transakcję, jesli blok najwyższego poziomu kończy działanie z nieobsłużonym wyjątkiem.
DuplicateHandlers.sql Ten skrypt ilustruje błąd PLS-483.
DupValOnIndex.sql Ten blok spowoduje wyjątek DUP_VAL_ON_INDEX.
ExceptionInit.sql Ten skrypt demonstruje dyrektywę EXCEPTION_INIT.
OutOfScope.sql Ten skrypt demonstruje zasięg wyjątków.
SQLERRM.sql Ten skrypt demonstruje zastosowanie funkcji SQLERRM.
tables.sql Ten skrypt tworzy tabelę i dane używane w innych przykładach z tego rozdziału.
UserDefined.sql Ten skrypt demonstruje wyjątki zdefiniowane przez użytkownika.
VerifyAuthors.sql Ta procedura demonstruje używanie funkcji RAISE_APPLICATION_ERROR.

Rozdział 8: Tworzenie procedur, funkcji i pakietów

W przypadku tych przykładów upewnij się, że uruchomiłeś skrypt tables.sql po utworzeniu schematu. Wszystkie pozostałe skrypty zależą od obiektów tworzonych w pliku tables.sql.

CreateUser.sql Ten skrypt tworzy użytkownika plsql na potrzeby przykładów z rozdziału 8. Trzeba uruchomić ten skrypt z konta SYS, SYSTEM lub SYSDBA. Można go uruchamiać wielokrotnie.
AddNewAuthor.sql Ten skrypt demonstruje tworzenie i wywoływanie prostej procedury.
AddNewBook.sql Ta procedura wstawia nową książkę do tabeli books. Skrypt demonstruje także działanie parametrów domyślnych.
callANA.sql Ten skrypt demonstruje wywoływanie funkcji AddNewAuthor.
CallMe.sql Ten skrypt demonstruje przekazywanie parametrów na podstawie pozycji i nazw.
calls.sql Ten skrypt demonstruje zastosowanie instrukcji CALL.
callSL.sql Ten blok ilustruje, jak wywoływać należące do pakietów procedury przyjmujące parametry.
CopyFast.sql Ten skrypt demonstruje poprawę wydajności dzięki zastosowaniu modyfikatora NOCOPY.
InventoryOps.sql Ten skrypt demonstruje pakiet.
InventoryOps2.sql Ta wersja pakietu InventoryOps zawiera dodatkową procedurę w ciele pakietu.
NoCopyTest.sql Ten skrypt demonstruje działanie modyfikatora NOCOPY.
noparams.sql Poniższa procedura i funkcja pokazują, jak wywoływać podprogramy bez parametrów.
objectOverload.sql Ten skrypt demonstruje przeciążanie na podstawie typów obiektowych zdefiniowanych przez użytkownika.
overload.sql Ta wersja pakietu InventoryOps zawiera procedurę przeciążoną StatusList.
packageError.sql Ten pakiet nie skompiluje się, ponieważ specyfikacja i ciało nie pasują do siebie.
ParameterLength.sql Ten skrypt ilustruje ograniczenia związane z parametrami formalnymi.
parameterModes.sql Te procedury służą do demonstrowania działania parametrów w trybie IN, OUT oraz IN OUT.
RaiseError.sql Ten skrypt demonstruje działanie wyjątków zgłaszanych w podprogramach.
Random.sql Ilustruje inicjowanie pakietu.
tables.sql Ten skrypt tworzy tabelę i dane używane w innych przykładach z tego rozdziału.
ThreeAuthors.sql Ten skrypt demonstruje funkcję i technikę jej wywoływania.

Rozdział 9: Używanie procedur, funkcji i pakietów

anonymousDependencies.sql Ten skrypt demonstruje anonimowe zależności w pakietach.
automaticInvalidation.sql Ten skrypt demonstruje automatyczne oznaczanie podprogramów jako nieprawidłowych.
callPP.sql Ten skrypt demonstruje wywołania do trwałego pakietu.
create_temp_table.sql Ten skrypt tworzy tabelę tymczasową.
DefaultPragma.sql Ten skrypt demonstruje domyślne instrukcje PRAGMA.
dependencies.sql Ten skrypt demonstruje działanie obiektów zależnych.
execute.sql Ten skrypt demonstruje działanie uprawnień systemowych EXECUTE.
forwardDeclarations.sql Ten skrypt demonstruje wzajemnie zależne od siebie podprogramy.
invokers.sql Ten skrypt demonstruje uprawnienia osoby wywołującej.
invokeRTA.sql Ten skrypt demonstruje wywoływanie procedury RecordThreeAuthors.
localError.sql Ten skrypt demonstruje, że podprogramy lokalne muszą znajdować się w sekcji deklaracji.
localStored.sql Ten skrypt demonstruje podprogram lokalny w obrębie procedury składowanej.
localSub.sql Ten skrypt demonstruje podprogram lokalny.
OracleErrors.sql Ten skrypt demonstruje zastosowanie potokowej funkcji tabelowej.
overloadedLocal.sql Ten skrypt demonstruje przeciążone procedury lokalne.
OverloadRestrictReferences.sql Ten skrypt demonstruje pakiety przeciążone.
PersistPkg.sql Ten skrypt demonstruje pakiet zdefiniowany przez użytkownika.
PersistPkg2.sql Ten skrypt demonstruje pakiet do seryjnego uruchamiania.
RecordThreeAuthors.sql Ten skrypt demonstruje procedurę z zależnościami.
recreateRTA.sql Ten skrypt tworzy procedurę RecordThreeAuthors.
remoteDependencies.sql Ten skrypt demonstruje zależności między obiektami z różnych baz danych.
RestrictReferences.sql Ten skrypt demonstruje pakiet InventoryOps.
Simple.sql Ten skrypt demonstruje widoki słownika danych dla prawidłowych i nieprawidłowych obiektów.
SQLFunctions.sql Ten skrypt demonstruje, jak można wywoływać funkcje składowane w kodzie SQL.
TableFunctions.sql Ten skrypt demonstruje typy zdefiniowane przez użytkownika.
tables.sql Ten skrypt tworzy podstawowe obiekty potrzebne w skryptach demonstracyjnych.
testCallPP.sql Ten skrypt demonstruje sekwencyjne wywołania pliku callPP.sql.
TrustPkg.sql Ten skrypt tworzy pakiet TrustPkg.

Rozdział 10: Wyzwalacze w bazach danych

cascadeRSInsert.sql Ten skrypt demonstruje wyzwalacze zdefiniowane przez użytkownika.
CheckPrice1.sql Ten skrypt demonstruje wyzwalacze zdefiniowane przez użytkownika.
CheckPrice2.sql Ten skrypt demonstruje wyzwalacze zdefiniowane przez użytkownika.
createClasses.sql Ten skrypt tworzy tabelę CLASSES.
createConnectAudit.sql Ten skrypt tworzy tabelę CONNECT_AUDIT.
createNonMutating.sql Ten skrypt demonstruje pakiet i wyzwalacze zdefiniowane przez użytkownika.
createObjects.sql Ten skrypt wywołuje kilka programów demonstracyjnych.
createRegisteredStudents.sql Ten skrypt tworzy tabelę REGISTERED_STUDENTS.
createStudents.sql Ten skrypt tworzy tabelę STUDENT.
createTempTable.sql Ten skrypt tworzy tabelę TEMP_TABLE.
createUser.sql Ten skrypt tworzy użytkowników na potrzeby rozdziału 10.
DatabaseSchema1.sql Ten skrypt demonstruje wyzwalacze zdefiniowane przez użytkownika.
DatabaseSchema2.sql Ten skrypt demonstruje testy wyzwalaczy zdefiniowanych przez użytkownika.
firingOrder.sql Ten skrypt demonstruje kolejność uruchamiania wyzwalaczy zdefiniowanych przez użytkownika.
GenerateAuthorID.sql Ten skrypt demonstruje zastosowania identyfikatora :new w wyzwalaczu.
GenerateStudentID.sql Ten skrypt demonstruje wyzwalacze zdefiniowane przez użytkownika.
insertAcademicRecords.sql Ten skrypt wstawia wartości do tabel STUDENTS i CLASSES.
InsteadBooksAuthors.sql Ten skrypt demonstruje wyzwalacze zdefiniowane przez użytkownika.
insteadOf1.sql Ten skrypt demonstruje wyzwalacze zdefiniowane przez użytkownika.
insteadOf2.sql Ten skrypt demonstruje wyzwalacze zdefiniowane przez użytkownika.
limitMajors.sql Ten skrypt demonstruje niemutujący wyzwalacz zdefiniowany przez użytkownika.
LogConnects.sql Ten skrypt demonstruje wyzwalacze zdefiniowane przez użytkownika.
LogCreations.sql Ten skrypt tworzy tabelę DDL_CREATIONS i wyzwalacza SYSTEM.
Logger.java Ten skrypt demonstruje klasę języka Java wywoływaną w wyzwalaczu.
logInventoryChanges1.sql Ten skrypt tworzy tabelę INVENTORY_AUDIT i wyzwalacz z predykatami.
logInventoryChanges2.sql Ten skrypt testuje wyzwalacz INVENTORY.
LogPkg1.sql Ten skrypt demonstruje wywoływanie w wyzwalaczach pakietów zdefiniowanych przez użytkownika.
LogPkg2.sql Ten skrypt demonstruje zdefiniowane przez użytkownika nakładki w języku PL/SQL na program w języku Java .
pseudoRecords.sql Ten skrypt demonstruje wyzwalacze zdefiniowane przez użytkownika.
samename.sql Ten skrypt demonstruje wyzwalacze zdefiniowane przez użytkownika.
tables.sql Ten skrypt tworzy tabele na potrzeby rozdziału 10. i zapełnia je.
testLogPkg.sql Ten skrypt demonstruje wywołania nakładki w języku PL/SQL kierowane do składowanej biblioteki języka Java .
testNonMutating.sql Ten skrypt testuje właściwości tabeli niemutującej.
testTooManyMajors.sql Ten skrypt demonstruje naruszenie zasad związanych z mutowaniem.
UpdateCategoryStats.sql Ten skrypt demonstruje wyzwalacze zdefiniowane przez użytkownika.

Rozdział 11: Komunikacja między sesjami

create_messages_table.sql Ten skrypt builds tabelę na komunikaty pakietu DBMS_ALERT.
create_messenger.sql Ten skrypt tworzy pakiet do przesyłania komunikatów między użytkownikami.
create_pipe1.sql Ten skrypt usuwa potok, jeśli jakiś istnieje w kontekście bieżącej sesji, a następnie tworzy go ponownie.
create_pipe2.sql Ten skrypt usuwa potok, jeśli jakiś istnieje w kontekście bieżącej sesji, a następnie tworzy go ponownie.
create_pipe3.sql Ten skrypt usuwa potok, jeśli jakiś istnieje w kontekście bieżącej sesji, tworzy go ponownie, wysyła komunikat i pobiera go z potoku.
create_pipe4.sql Ten skrypt usuwa potok, jeśli jakiś istnieje w kontekście bieżącej sesji, tworzy go ponownie, wysyła komunikat i pobiera go z potoku.
create_signal_trigger.sql Ten skrypt tworzy wyzwalacz, który DBMS_ALERT uruchamia dla zdarzeń związanych z tabelą MESSAGES.
create_user.sql Ten skrypt sprawdza i definiuje użytkownika plsql. Trzeba uruchomić ten skrypt z konta SYSTEM lub z konta z uprawnieniami roli DBA i uprawnieniami EXECUTE do pakietu DBMS_PIPE z możliwością ich przyznawania.
next_item_type.sql Ten skrypt testuje obsługę potoków prywatnych przy użyciu pakietu DBMS_PIPE.
read_local.sql Ten skrypt używa pakietu DBMS_PIPE do zapisu lokalnego komunikatu do niejawnego anonimowego potoku sesji.
read_local_error.sql Ten skrypt używa pakietu DBMS_PIPE do zapisu lokalnego komunikatu do niejawnego anonimowego potoku sesji.
read_message.sql Ten skrypt pobiera dane z bufora lokalnego.
read_pipe.sql Ten skrypt odczytuje trzy komunikaty z prywatnych i publicznych potoków, używając pakietu DBMS_PIPE.
register_interest.sql Ten skrypt rejestruje w pakiecie DBMS_ALERT zainteresowanie tabelą MESSAGES.
use_messenger.sql Ten skrypt demonstruje wykorzystanie pakietu MESSENGER jako nakładki na pakiet DBMS_PIPE.
waitone.sql Ten skrypt oczekuje na alert z pakietu DBMS_ALERT, który jest uruchamiany przy poleceniach DML na tabeli MESSAGES.
write_local.sql Ten skrypt używa pakietu DBMS_PIPE do zapisu lokalnego komunikatu do niejawnego anonimowego potoku sesji.
write_pipe.sql Ten skrypt zapisuje trzy komunikaty do prywatnych i publicznych potoków, używając pakietu DBMS_PIPE.

Rozdział 12: Podprogramy zewnętrzne

create_javalib1.sql Ten skrypt demonstruje, jak utworzyć nakładkę na bibliotekę w języku Java.
create_library1.sql Ten skrypt pokazuje, jak utworzyć bibliotekę do obsługi procedur zewnętrznych.
create_library2.sql Ten skrypt pokazuje, jak utworzyć bibliotekę do obsługi procedur zewnętrznych w przypadku źle napisanego programu w języku C, który nie pasuje do sygnatury z biblioteki PL/SQL.
create_user.sql Ten skrypt sprawdza i definiuje użytkownika plsql. Trzeba uruchomić ten skrypt z konta SYSTEM lub z konta z uprawnieniami roli DBA i uprawnieniami EXECUTE do pakietu DBMS_PIPE z możliwością ich przyznawania.
listener1.ora Standardowa powłoka z jednym odbiornikiem dla pliku listener.ora.
listener2.ora Standardowa powłowka z dwoma odbiornikami dla pliku listener.ora. Odbiornik extproc IPC jest utworzony oddzielnie.
listener3.ora Standardowa powłowka z dwoma odbiornikami dla pliku listener.ora. Odbiornik extproc IPC jest utworzony oddzielnie, a parametr ENV wskazuje wiele ścieżek DDL
ReadFile1.java Ten skrypt pokazuje, jak wczytać plik przy użyciu języka Java. Skrypt jest zaprojektowany jako plik biblioteczny w języku Java dla składowanej biblioteki bazy danych Oracle.
tnsnames1.ora Standardowa powłoka z jednym odbiornikiem dla pliku tnsnames.ora.
tnsnames2.ora Standardowa powłowka z dwoma odbiornikami dla pliku tnsnames.ora. Odbiornik extproc IPC jest utworzony oddzielnie.
tnsnames3.ora Standardowa powłowka z dwoma odbiornikami dla pliku tnsnames.ora. Odbiornik extproc IPC jest utworzony oddzielnie.
writestr1.c Ten skrypt otwiera plik i zapisuje pojedynczy wiersz tekstu do pliku. Jest używany w połączeniu ze skryptem create_library1.sql.
writestr2.c Ten skrypt otwiera plik i zapisuje pojedynczy wiersz tekstu do pliku. Jest używany w połączeniu ze skryptem create_library2.sql.

Rozdział 13: Dynamiczny język SQL

create_types.sql Tworzy typy do testowania pakietu NDS.
create_user.sql Ten skrypt tworzy użytkownika PLSQL. Trzeba uruchomić ten skrypt z konta SYSTEM lub konta użytkownika z uprawnieniami roli DBA oraz EXECUTE do pakietu DBMS_PIPE z możliwością przyznawania ich. Znajdują się tu także instrukcje GRANT nadające uprawnienia niezbędne do korzystania z pakietu DBMS_SQL.
dbms_sql.sql Działający samouczek dotyczący pakietu wbudowanego DBMS_SQL z przykładami zastosowania najważniejszych metod.
dbms_sql_01.sql Służy do testowania pakietu DBMS_SQL_TUTORIAL.
dbms_sql_02.sql Służy do testowania pakietu DBMS_SQL_TUTORIAL.
dbms_sql_03.sql Służy do testowania pakietu DBMS_SQL_TUTORIAL.
nds_null.sql Przedstawia zarządzanie wartościami null.
nds_sql.sql Działający samouczek dotyczący języka NDS z przykładami zastosowania najważniejszych metod.
nds_sql_01.sql Służy do testowania NDS.
nds_sql_02.sql Służy do testowania NDS.
nds_sql_03.sql Służy do testowania NDS.
nds_sqle.sql Działający samouczek dotyczący języka NDS z błędem w postaci parametru w trybie OUT. Pakiet skompiluje się, ale zgłosi wyjątek w czasie wykonywania.

Rozdział 14: Wprowadzenie do obiektów

CreateUser.sql Ten skrypt tworzy użytkownika objects_user na potrzeby przykładów z rozdziału 14. i 15. Trzeba uruchomić ten skrypt z konta SYS, SYSTEM lub SYSDBA. Można go uruchamiać wielokrotnie.
AttributeChain.sql Ten skrypt demonstruje łańcuchy atrybutów.
ComplexObj.sql Ten skrypt demonstruje obiekty złożone.
ConstructorMethod.sql Ten skrypt demonstruje konstruktor zdefiniowany przez użytkownika.
DynamicDispatch.sql Ten skrypt demonstruje dynamiczne wyszukiwanie (polimorfizm dynamiczny).
Inheritance.sql Ten skrypt demonstruje dziedziczenie typów obiektowych.
MapMethod.sql Ten skrypt demonstruje metodę MAP.
MemberMethod.sql Ten skrypt demonstruje metody składowe.
ObjInit.sql Ten skrypt demonstruje inicjowanie obiektów.
OrderMethod.sql Ten skrypt demonstruje metodę ORDER.
StaticMethod.sql Ten skrypt demonstruje metodę statyczną.
TypeAttribute.sql Ten skrypt demonstruje zastosowanie atrybutu %TYPE.
TypeEvolution.sql Ten skrypt demonstruje ewolucję typów umożliwiającą zarządzanie typami obiektowymi.

Rozdział 15: Obiekty w bazie danych

CreateUser.sql Ten skrypt tworzy użytkownika objects_user na potrzeby przykładów z rozdziału 14. i 15. Trzeba uruchomić ten skrypt z konta SYS, SYSTEM lub SYSDBA. Można go uruchamiać wielokrotnie.
AttributeChain.sql Ten skrypt demonstruje łańcuchy atrybutów.
ColObj.sql Ten skrypt demonstruje obiekty w kolumnach.
ForwardDeclaration.sql Ten skrypt demonstruje uprzedzające deklaracje typów.
Inheritance.sql Ten skrypt demonstruje dziedziczenie typów obiektowych.
IsDangling.sql Ten skrypt demonstruje obsługę zawieszonych referencji.
IsOf.sql Ten skrypt demonstruje instrukcję IS OF.
ObjectTable.sql Ten skrypt demonstruje tworzenie tabeli obiektowej i obejmuje blok anonimowy, który ilustruje wykonywanie operacji DML na tabeli obiektowej.
ObjectView.sql Ten skrypt demonstruje tworzenie widoków obiektowych.
ObjMaintain.sql Ten skrypt demonstruje ewolucję typów.
RefObj.sql Ten skrypt demonstruje referencje obiektowe REF.
Treat.sql Ten skrypt demonstruje funkcję TREAT.
UtlRef.sql Ten skrypt demonstruje pakiet UTL_REF.

Rozdział 16: Duże obiekty

CreateUser.sql Ten skrypt tworzy użytkownika plsql na potrzeby przykładów z rozdziału 1. Trzeba uruchomić ten skrypt z konta SYS, SYSTEM lub SYSDBA. Można go uruchamiać wielokrotnie.
BfileClose.sql Ten skrypt testuje procedurę DBMS_LOB.CLOSE.
BfileCloseAll.sql Ten skrypt testuje procedurę DBMS_LOB.FILECLOSEALL.
BfileFileExists.sql Ten skrypt testuje procedurę DBMS_LOB.FILEEXISTS.
BfileIsOpen.sql Ten skrypt testuje funkcję DBMS_LOB.ISOPEN.
ClobCompare.sql Ten skrypt testuje funkcję DBMS_LOB.COMPARE.
Convert.sql Ten skrypt testuje procedury DBMS_LOB.CONVERTTOBLOB i DBMS_LOB.CONVERTTOCLOB.
CreateLobTables.sql Ten skrypt demonstruje opcje przechowywania dostępne w typach LOB.
LoadFromFile.sql Ten skrypt testuje procedurę DBMS_LOB.LOADFROMFILE.
LoadLOBFromFile.sql Ten skrypt testuje procedurę DBMS_LOB.LOADLOBFROMFILE.
LobInsert.sql Ten skrypt demonstruje wstawianie danych do typów LOB.
LobUpdate.sql Ten skrypt demonstruje aktualizowanie typów LOB.
LongToLob.sql Ten skrypt demonstruje przekształcanie typów Long na LOB.
NCLOBAppend.sql Ten skrypt demonstruje zastosowanie procedury DBMS_LOB.APPEND.
Returning.sql Ten skrypt demonstruje zastosowanie klauzuli returning.
TextIndex.sql Ten skrypt demonstruje indeksowanie za pomocą Oracle Text.
VarrayLob.sql Ten skrypt demonstruje typy LOB zdefiniowane przez użytkownika.

Rozdział 17: Planowanie zadań

CreateUser.sql Ten skrypt tworzy użytkownika plsql na potrzeby przykładów z rozdziału 1. Trzeba uruchomić ten skrypt z konta SYS, SYSTEM lub SYSDBA. Można go uruchamiać wielokrotnie.
Broken.sql Ten skrypt testuje procedurę DBMS_JOB.BROKEN.
Change.sql Ten skrypt testuje procedurę DBMS_JOB.CHANGE.
CreateJob.sql Ten skrypt testuje procedurę DBMS_SCHEDULER.CREATE_JOB.
Remove.sql Ten skrypt testuje procedurę DBMS_JOB.REMOVE.
Run.sql Ten skrypt testuje procedurę DBMS_JOB.RUN.
Submit.sql Ten skrypt testuje procedurę DBMS_JOB.SUBMIT.