Oracle Database 11g. Programowanie w języku PL/SQL - Helion
Tytuł oryginału: Oracle Database 11g PL/SQL Programming
TÅ‚umaczenie: Tomasz Walczak
ISBN: 978-83-246-1938-2
stron: 904, Format: 168x237, okładka: miękka
Data wydania: 2009-01-09
Księgarnia: Helion
Cena książki: 129,00 zł
Poznaj tajniki programowania w języku PL/SQL
- Jak pisać kod w języku PL/SQL?
- Jak zarządzać błędami?
- Jak tworzyć funkcje i procedury?
PL/SQL to wbudowany język proceduralny baz danych Oracle. Jest on rozszerzeniem języka SQL i umożliwia tworzenie takich konstrukcji, jak pętle, instrukcje warunkowe, zmienne i wyzwalacze. Dzięki temu można zautomatyzować wiele czynności administracyjnych oraz rejestrować zmiany danych lub nadzorować ich modyfikacje. Język ten pozwala więc na budowanie dynamicznych i stabilnych aplikacji, opartych na bazach danych typu klient-serwer.
Książka "Oracle Database 11g. Programowanie w języku PL/SQL" zawiera omówienie wszystkich najnowszych funkcji i narzędzi tego języka programowania. Szczegółowe wyjaśnienia wzbogacone zostały o studia przypadków oraz przykładowy kod, który można wkleić do własnej aplikacji. Z tym podręcznikiem nauczysz się pobierać i modyfikować informacje w bazach danych, tworzyć wartościowe instrukcje w języku PL/SQL, skutecznie wykonywać zapytania i budować niezawodne zabezpieczenia. Dowiesz się także między innymi, jak stosować procedury, funkcje, pakiety, kolekcje i wyzwalacze oraz jak zoptymalizować wydajność aplikacji.
- Język PL/SQL -- architektura i funkcje
- Struktury sterujÄ…ce
- Instrukcje
- Zarządzanie błędami
- Programowanie w języku PL/SQL
- Kolekcje
- Obiekty i pakiety
- Wyzwalacze
- Komunikacja między sesjami
- Podprogramy zewnętrzne
- Typy obiektowe
- Biblioteka języka Java
- Rozwój aplikacji sieciowych
Twórz solidne aplikacje sieciowe w języku PL/SQL
Osoby które kupowały "Oracle Database 11g. Programowanie w języku PL/SQL", wybierały także:
- PL/SQL. Kurs video. Od podstaw do zagadnień zaawansowanych. Programowanie baz danych 79,00 zł, (31,60 zł -60%)
- Linux Server. Kurs video. Usługi serwerowe, skrypty i środowisko graficzne 69,00 zł, (34,50 zł -50%)
- Tablice informatyczne. SQL. Wydanie III 16,98 zł, (8,49 zł -50%)
- SQL w 24 godziny. Wydanie VI 69,00 zł, (34,50 zł -50%)
- Oracle PL/SQL w mgnieniu oka 44,90 zł, (22,45 zł -50%)
Spis treści
Oracle Database 11g. Programowanie w języku PL/SQL -- spis treści
O autorze (15)
Wprowadzenie (17)
Część I: Podstawy języka PL/SQL (23)
Rozdział 1. Przegląd języka Oracle PL/SQL (25)
- TÅ‚o historyczne (25)
- Architektura (27)
- Podstawowa struktura bloków (30)
- Nowe funkcje bazy Oracle 10g (33)
- Pakiety wbudowane (33)
- Ostrzeżenia generowane w czasie kompilacji (34)
- Kompilacja warunkowa (34)
- Działanie liczbowych typów danych (35)
- Zoptymalizowany kompilator języka PL/SQL (35)
- Wyrażenia regularne (36)
- Różne możliwości ograniczania łańcuchów znaków (37)
- Operatory zbiorów (37)
- Stos wywołań z informacjami o błędach (37)
- Nakładki na programy składowane w języku PL/SQL (38)
- Nowe funkcje bazy Oracle 11g (39)
- Automatyczne rozwijanie podprogramów w miejscu wywołania (40)
- Instrukcja CONTINUE (41)
- Zapisywanie działania funkcji w języku PL/SQL między sesjami (41)
- Rozszerzenia dynamicznego SQL-a (42)
- Wywołania w notacji mieszanej, opartej na nazwie i opartej na pozycji (42)
- Wieloprocesowa pula połączeń (44)
- Hierarchiczny program profilujący języka PL/SQL (46)
- Generowanie kodu macierzystego przez macierzysty kompilator języka PL/SQL (47)
- Narzędzie PL/Scope (48)
- Wzbogacone wyrażenia regularne (48)
- Typ danych SIMPLE_INTEGER (48)
- Bezpośrednie wywoływanie sekwencji w instrukcjach w języku SQL (48)
- Podsumowanie (49)
Rozdział 2. Podstawy języka PL/SQL (51)
- Struktura bloków języka PL/SQL (52)
- Zmienne, operacje przypisania i operatory (55)
- Struktury kontrolne (56)
- Struktury warunkowe (57)
- Struktury iteracyjne (60)
- Funkcje, procedury i pakiety składowane (63)
- Funkcje składowane (63)
- Procedury (65)
- Pakiety (66)
- Zasięg transakcji (67)
- Pojedynczy zasięg transakcji (67)
- Wiele zasięgów transakcji (68)
- Wyzwalacze bazodanowe (69)
- Podsumowanie (70)
Rozdział 3. Podstawowe elementy języka (71)
- Znaki i jednostki leksykalne (71)
- Ograniczniki (72)
- Identyfikatory (76)
- Literały (77)
- Komentarze (80)
- Struktura bloków (80)
- Typy zmiennych (85)
- Skalarne typy danych (88)
- Duże obiekty (typy LOB) (105)
- Złożone typy danych (109)
- Systemowe kursory referencyjne (116)
- Zasięg zmiennych (117)
- Podsumowanie (119)
Rozdział 4. Struktury sterujące (121)
- Instrukcje warunkowe (122)
- Instrukcje IF (127)
- Instrukcje CASE (130)
- Instrukcje kompilacji warunkowej (133)
- Instrukcje iteracyjne (134)
- Pętle proste (135)
- Pętle FOR (139)
- Pętle WHILE (141)
- Kursory (143)
- Kursory niejawne (143)
- Kursory jawne (146)
- Instrukcje masowe (152)
- Instrukcje BULK COLLECT INTO (153)
- Instrukcje FORALL (158)
- Podsumowanie (161)
Rozdział 5. Zarządzanie błędami (163)
- Typy i zasięg wyjątków (164)
- Błędy kompilacji (165)
- Błędy czasu wykonania (167)
- Wbudowane funkcje do zarzÄ…dzania wyjÄ…tkami (172)
- Wyjątki zdefiniowane przez użytkownika (174)
- Deklarowanie wyjątków zdefiniowanych przez użytkownika (174)
- Dynamiczne wyjątki zdefiniowane przez użytkownika (175)
- Funkcje do zarządzania stosem błędów (177)
- Zarządzanie stosem błędów (177)
- Formatowanie stosu błędów (181)
- ZarzÄ…dzanie wyjÄ…tkami za pomocÄ… wyzwalaczy bazy danych (183)
- Wyzwalacze bazy danych i błędy krytyczne (184)
- Wyzwalacze bazy danych i błędy niekrytyczne (189)
- Podsumowanie (191)
Część II: Programowanie w języku PL/SQL (193)
Rozdział 6. Funkcje i procedury (195)
- Architektura funkcji i procedur (196)
- Zasięg transakcji (202)
- Wywoływanie podprogramów (203)
- Notacja oparta na pozycji (204)
- Notacja oparta na nazwie (204)
- Notacja mieszana (204)
- Notacja z pominięciem (204)
- Notacja w wywołaniach w języku SQL (205)
- Funkcje (205)
- Opcje używane przy tworzeniu funkcji (207)
- Funkcje o parametrach przekazywanych przez wartość (217)
- Funkcje o parametrach przekazywanych przez referencjÄ™ (224)
- Procedury (227)
- Procedury o parametrach przekazywanych przez wartość (228)
- Procedury o parametrach przekazywanych przez referencjÄ™ (232)
- Podsumowanie (238)
Rozdział 7. Kolekcje (239)
- Rodzaje kolekcji (241)
- Tablice VARRAY (242)
- Tabele zagnieżdżone (257)
- Używanie tablic asocjacyjnych (271)
- Operatory zbiorów działające na kolekcjach (279)
- Operator CARDINALITY (281)
- Operator EMPTY (281)
- Operator MEMBER OF (282)
- Operator MULTISET EXCEPT (282)
- Operator MULTISET INTERSECT (282)
- Operator MULTISET UNION (283)
- Operator SET (284)
- Operator SUBMULTISET (285)
- API Collection (286)
- Metoda COUNT (287)
- Metoda DELETE (288)
- Metoda EXISTS (289)
- Metoda EXTEND (291)
- Metoda FIRST (292)
- Metoda LAST (293)
- Metoda LIMIT (294)
- Metoda NEXT (295)
- Metoda PRIOR (295)
- Metoda TRIM (295)
- Podsumowanie (297)
Rozdział 8. Duże obiekty (299)
- Duże obiekty znakowe - typy CLOB i NCLOB (300)
- Odczyt plików oraz zapis danych w kolumnach CLOB i NCLOB przy użyciu języka PL/SQL (305)
- Przesyłanie obiektów typu CLOB do bazy danych (308)
- Duże obiekty binarne - typ danych BLOB (309)
- Odczyt plików oraz zapis danych w kolumnach BLOB przy użyciu języka PL/SQL (311)
- Przesyłanie obiektów typu BLOB do bazy danych (314)
- Mechanizm SecureFiles (315)
- Pliki binarne - typ BFILE (317)
- Tworzenie i używanie katalogów wirtualnych (318)
- Wczytywanie ścieżek kanonicznych i nazw plików (325)
- Pakiet DBMS_LOB (333)
- Stałe pakietu (334)
- WyjÄ…tki pakietu (335)
- Metody do otwierania i zamykania (335)
- Metody do manipulowania dużymi obiektami (337)
- Metody do introspekcji (343)
- Metody do obsługi obiektów typu BFILE (346)
- Metody do obsługi tymczasowych dużych obiektów (347)
- Podsumowanie (348)
Rozdział 9. Pakiety (349)
- Architektura pakietu (350)
- Referencje uprzedzajÄ…ce (351)
- Przeciążanie (353)
- Specyfikacja pakietu (355)
- Zmienne (358)
- Typy danych (360)
- Komponenty - funkcje i procedury (363)
- Ciało pakietu (363)
- Zmienne (365)
- Typy (367)
- Komponenty - funkcje i procedury (368)
- Uprawnienia osoby definiującej i wywołującej (371)
- Przyznawanie uprawnień i synonimy (372)
- Wywołania zdalne (374)
- ZarzÄ…dzanie pakietami w katalogu bazy danych (374)
- Wyszukiwanie, walidacja i opisywanie pakietów (375)
- Sprawdzanie zależności (376)
- Metody sprawdzania poprawności - znaczniki czasu asygnatury (377)
- Podsumowanie (378)
Rozdział 10. Wyzwalacze (379)
- Wprowadzenie do wyzwalaczy (379)
- Architektura wyzwalaczy w bazie danych (382)
- Wyzwalacze DDL (384)
- Funkcje-atrybuty zdarzeń (385)
- Tworzenie wyzwalaczy DDL (395)
- Wyzwalacze DML (396)
- Wyzwalacze z poziomu instrukcji (398)
- Wyzwalacze z poziomu wierszy (399)
- Wyzwalacze złożone (403)
- Wyzwalacze zastępujące (407)
- Wyzwalacze systemowe (bazy danych) (411)
- Ograniczenia zwiÄ…zane z wyzwalaczami (412)
- Maksymalny rozmiar wyzwalaczy (413)
- Instrukcje języka SQL (413)
- Typy danych LONG i LONG RAW (413)
- Tabele mutujÄ…ce (414)
- Wyzwalacze systemowe (415)
- Podsumowanie (415)
Część III: Programowanie zaawansowane w języku PL/SQL (417)
Rozdział 11. Dynamiczny SQL (419)
- Architektura dynamicznego SQL-a (420)
- Wbudowany dynamiczny język SQL (NDS) (420)
- Instrukcje dynamiczne (420)
- Instrukcje dynamiczne z danymi wejściowymi (423)
- Instrukcje dynamiczne z danymi wejściowymi i wyjściowymi (426)
- Instrukcje dynamiczne o nieznanej liczbie danych wejściowych (429)
- Pakiet DBMS_SQL (431)
- Instrukcje dynamiczne (433)
- Instrukcje dynamiczne o zmiennych wejściowych (436)
- Instrukcje dynamiczne o zmiennych wejściowych i wyjściowych (439)
- Definicja pakietu DBMS_SQL (441)
- Podsumowanie (455)
Rozdział 12. Komunikacja między sesjami (457)
- Wprowadzenie do komunikacji między sesjami (457)
- Stosowanie trwałych lub półtrwałych struktur (458)
- Bez stosowania trwałych lub półtrwałych struktur (458)
- Porównanie sposobów komunikacji między sesjami (459)
- Pakiet wbudowany DBMS_PIPE (459)
- Wprowadzenie do pakietu DBMS_PIPE (460)
- Definicja pakietu DBMS_PIPE (462)
- Używanie pakietu DBMS_PIPE (467)
- Pakiet wbudowany DBMS_ALERT (477)
- Wprowadzenie do pakietu DBMS_ALERT (477)
- Definicja pakietu DBMS_ALERT (478)
- Używanie pakietu DBMS_ALERT (480)
- Podsumowanie (485)
Rozdział 13. Podprogramy zewnętrzne (487)
- Wprowadzenie do procedur zewnętrznych (487)
- Używanie procedur zewnętrznych (488)
- Definicja architektury procedur zewnętrznych (488)
- Konfiguracja usług Oracle Net Services do obsługi procedur zewnętrznych (491)
- Definiowanie wielowÄ…tkowego agenta extproc (498)
- Używanie współdzielonych bibliotek języka C (501)
- Używanie bibliotek współdzielonych języka Java (508)
- Rozwiązywanie problemów z bibliotekami współdzielonymi (513)
- Konfiguracja odbiornika lub środowiska (513)
- Konfigurowanie biblioteki współdzielonej lub biblioteki-nakładki języka PL/SQL (517)
- Podsumowanie (518)
Rozdział 14. Typy obiektowe (519)
- Wprowadzenie do obiektów (522)
- Deklarowanie typów obiektowych (523)
- Implementacja ciała obiektu (525)
- Metody do pobierania i ustawiania wartości (528)
- Statyczne metody składowe (529)
- Porównywanie obiektów (531)
- Dziedziczenie i polimorfizm (538)
- Deklarowanie klas pochodnych (540)
- Implementowanie klas pochodnych (541)
- Ewolucja typu (544)
- Kolekcje obiektów (545)
- Deklarowanie kolekcji obiektów (545)
- Implementowanie kolekcji obiektów (546)
- Podsumowanie (548)
Rozdział 15. Biblioteki języka Java (549)
- Nowe funkcje maszyny JVM w Oracle 11g (550)
- Architektura Javy w Oracle (550)
- Sterowanie wykonywaniem kodu w języku Java (553)
- Przechowywanie zasobów języka Java (553)
- Nazwy klas języka Java (553)
- Wyszukiwanie jednostek języka Java (553)
- Zabezpieczenia i uprawnienia w Javie (553)
- WÄ…tki w Javie (554)
- Typy połączeń JDBC (554)
- Sterowniki używane po stronie klienta (uproszczone sterowniki JDBC) (554)
- Sterowniki interfejsu wywołań Oracle (pełne sterowniki warstwy pośredniej) (555)
- Wewnętrzne sterowniki Oracle używane po stronie serwera (pełne sterowniki warstwy serwera) (555)
- Tworzenie bibliotek klas języka Java w Oracle (556)
- Tworzenie wewnętrznych funkcji serwera w języku Java (558)
- Tworzenie wewnętrznych serwerowych procedur języka Java (562)
- Tworzenie wewnętrznych serwerowych obiektów języka Java (566)
- Rozwiązywanie problemów z bibliotekami klas języka Java (571)
- Odpowiedniki typów danych bazy Oracle (575)
- Podsumowanie (577)
Rozdział 16. Rozwój aplikacji sieciowych (579)
- Architektura serwera sieciowego języka PL/SQL (581)
- Architektura serwera Oracle HTTP (OHS) (581)
- Architektura serwera XDB (583)
- Konfigurowanie niezależnego serwera Oracle HTTP (585)
- Wyświetlanie informacji o module mod_plsql (585)
- Konfigurowanie serwera OHS (587)
- Konfigurowanie serwera XDB (589)
- Konfigurowanie uwierzytelniania statycznego (592)
- Konfigurowanie uwierzytelniania dynamicznego (593)
- Konfigurowanie uwierzytelniania anonimowego (594)
- Porównanie procedur sieciowych języka PL/SQL i stron PSP (597)
- Tworzenie składowanych procedur sieciowych języka PL/SQL (598)
- Procedury bez parametrów formalnych (599)
- Procedury o parametrach formalnych (601)
- Wady i zalety (606)
- Tworzenie i używanie stron PSP (606)
- Procedury bez parametrów formalnych (609)
- Procedury o parametrach formalnych (610)
- Zalety i wady (614)
- Podsumowanie (615)
Dodatki (617)
Dodatek A: Wprowadzenie do administrowania bazÄ… danych Oracle (619)
- Architektura bazy danych Oracle (620)
- Uruchamianie i zatrzymywanie bazy danych Oracle (625)
- Operacje w systemach Unix i Linux (626)
- Operacje w systemie Microsoft Windows (629)
- Uruchamianie i zatrzymywanie odbiornika Oracle (633)
- Role i uprawnienia w bazie danych Oracle (638)
- Otwieranie i używanie interfejsu SQL*Plus (638)
- Interfejs SQL*Plus uruchamiany z wiersza poleceń (641)
- Zmienne powiÄ…zane (646)
- Podsumowanie (646)
Dodatek B: Wprowadzenie do języka SQL w bazie danych Oracle (647)
- Typy danych środowiska SQL*Plus w Oracle (648)
- Język definicji danych (DDL) (652)
- ZarzÄ…dzanie tabelami i ograniczeniami (652)
- ZarzÄ…dzanie widokami (657)
- Zarządzanie programami składowanymi (660)
- ZarzÄ…dzanie sekwencjami (660)
- Zarządzanie typami zdefiniowanymi przez użytkownika (664)
- Język zapytań o dane (DQL) (665)
- Zapytania (666)
- Język manipulowania danymi (DML) (672)
- Instrukcja INSERT (673)
- Instrukcja UPDATE (675)
- Instrukcja DELETE (676)
- Język kontroli danych (DCL) (677)
- Podsumowanie (678)
Dodatek C: Wprowadzenie do języka PHP (679)
- TÅ‚o historyczne (680)
- Czym jest PHP? (680)
- Czym jest Zend? (681)
- Tworzenie rozwiązań sieciowych (681)
- Co, gdzie i dlaczego? (681)
- Jak Oracle wzbogaca język PHP? (683)
- Dlaczego język PHP 5 jest ważny? (683)
- Jak używać języka PHP? (683)
- Jak używać języka PHP i bibliotek OCI8 przy korzystaniu z bazy Oracle? (708)
- Podsumowanie (734)
Dodatek D: Wprowadzenie do języka Java w bazie danych Oracle (735)
- Język Java i architektura połączeń JDBC (735)
- Konfigurowanie środowiska języka Java i bazy Oracle (736)
- Wprowadzenie do języka Java (739)
- Podstawy języka Java (739)
- Operatory przypisania w języku Java (742)
- Struktury warunkowe i iteracyjne w języku Java (743)
- Definicje metod w języku Java (745)
- Bloki try-catch w języku Java (746)
- Testowanie połączeń JDBC obsługiwanych po stronie klienta (sterowników uproszczonych) (747)
- Dostęp do zmiennych skalarnych (752)
- Tworzenie i używanie dużych obiektów (758)
- Zapisywanie i wczytywanie kolumn typu CLOB (758)
- Dostęp do kolumn typu BFILE (765)
- Podsumowanie (774)
Dodatek E: Wprowadzenie do wyrażeń regularnych (775)
- Wprowadzenie do wyrażeń regularnych (775)
- Klasy znaków (776)
- Klasy porzÄ…dkowania (778)
- Metaznaki (778)
- Metasekwencje (780)
- Literały (781)
- Implementacja wyrażeń regularnych w Oracle 11g (781)
- Funkcja REGEXP_COUNT (781)
- Funkcja REGEXP_INSTR (783)
- Funkcja REGEXP_LIKE (784)
- Funkcja REGEXP_REPLACE (785)
- Funkcja REGEXP_SUBSTR (786)
- Stosowanie wyrażeń regularnych (787)
- Funkcja REGEXP_COUNT (788)
- Funkcja REGEXP_INSTR (790)
- Funkcja REGEXP_LIKE (790)
- Funkcja REGEXP_REPLACE (791)
- Funkcja REGEXP_SUBSTR (791)
- Podsumowanie (792)
Dodatek F: Opakowywanie kodu w języku PL/SQL (793)
- Ograniczenia w opakowywaniu kodu w języku PL/SQL (794)
- Ograniczenia związane z narzędziem wrap języka PL/SQL (794)
- Ograniczenia funkcji DBMS_DDL.WRAP (794)
- Stosowanie narzędzia wrap (794)
- Opakowywanie kodu za pomocÄ… pakietu DBMS_DDL (795)
- Funkcja WRAP (795)
- Procedura CREATE_WRAPPED (797)
- Podsumowanie (798)
Dodatek G: Wprowadzenie do hierarchicznego programu profilującego języka PL/SQL (799)
- Konfigurowanie schematu (800)
- Zbieranie danych (801)
- Odczytywanie danych wyjściowych programu profilującego (804)
- Odczyt surowych danych wyjściowych (804)
- Definiowanie tabel na potrzeby programu profilującego języka PL/SQL (806)
- Zapytania o przetworzone dane (808)
- Używanie narzędzia plshprof (809)
- Podsumowanie (810)
Dodatek H: Narzędzie PL/Scope (811)
- Konfigurowanie procesu zbierania danych przez PL/Scope (811)
- Przeglądanie danych zebranych przez narzędzie PL/Scope (812)
- Podsumowanie (813)
Dodatek I: Słowa zarezerwowane i kluczowe języka PL/SQL (815)
- Podsumowanie (820)
Dodatek J: Funkcje wbudowane języka PL/SQL (821)
- Funkcje znakowe (821)
- Funkcja ASCII (822)
- Funkcja ASCIISTR (822)
- Funkcja CHR (823)
- Funkcja CONCAT (823)
- Funkcja INITCAP (824)
- Funkcja INSTR (824)
- Funkcja LENGTH (825)
- Funkcja LOWER (826)
- Funkcja LPAD (826)
- Funkcja LTRIM (827)
- Funkcja REPLACE (827)
- Funkcja RPAD (828)
- Funkcja RTRIM (828)
- Funkcja UPPER (829)
- Funkcje do konwersji typów danych (829)
- Funkcja CAST (830)
- Funkcja CONVERT (831)
- Funkcja TO_CHAR (832)
- Funkcja TO_CLOB (834)
- Funkcja TO_DATE (835)
- Funkcja TO_LOB (836)
- Funkcja TO_NCHAR (837)
- Funkcja TO_NCLOB (837)
- Funkcja TO_NUMBER (837)
- Funkcja TO_TIMESTAMP (839)
- Funkcje do zarządzania błędami (839)
- Funkcja SQLCODE (839)
- Funkcja SQLERRM (840)
- Funkcje różne (842)
- Funkcja BFILENAME (842)
- Funkcja COALESCE (844)
- Funkcja DECODE (845)
- Funkcja DUMP (846)
- Funkcja EMPTY_BLOB (846)
- Funkcja EMPTY_CLOB (848)
- Funkcja GREATEST (850)
- Funkcja LEAST (852)
- Funkcja NANVL (854)
- Funkcja NULLIF (854)
- Funkcja NVL (855)
- Funkcja SYS_CONTEXT (855)
- Funkcja USERENV (858)
- Funkcja VSIZE (860)
- Funkcje liczbowe (860)
- Funkcja CEIL (860)
- Funkcja FLOOR (861)
- Funkcja MOD (861)
- Funkcja POWER (862)
- Funkcja REMAINDER (864)
- Podsumowanie (865)
Skorowidz (867)