Oracle9i. Programowanie w języku PL/SQL - Helion
Tytuł oryginału: Oracle9i PL/SQL Programming
Tłumaczenie: Radosław Meryk
ISBN: 83-7361-065-0
stron: 536, Format: B5, okładka: miękka
Data wydania: 2003-07-25
Księgarnia: Helion
Cena książki: 79,00 zł
Wykorzystanie wbudowanego w system Oracle języka PL/SQL w znaczący sposób zwiększa wydajność programisty systemów bazodanowych. PL/SQL łączy w sobie możliwości i elastyczność języka czwartej generacji (4GL) SQL z konstrukcjami proceduralnymi języka trzeciej generacji (3GL). Konstrukcje proceduralne są w pełni zintegrowane z Oracle SQL, co daje w rezultacie język strukturalny o ogromnym potencjale. Programy napisane w tym języku umożliwiają obsługę danych zarówno w samym systemie Oracle, jak i w zewnętrznych aplikacjach.
Książka "Oracle9i. Programowanie w języku PL/SQL" wyjaśnia główne właściwości języka oraz różnice w PL/SQL dla różnych wersji bazy danych. Dzięki niej nauczysz się projektować, testować i uruchamiać aplikacje PL/SQL działające w wielu środowiskach, jak również poznasz szczegóły zastosowania języków SQL i PL/SQL, obsługi błędów, zbioru podprogramów i pakietów, a także wiele zaawansowanych właściwości. Niniejsza pozycja umożliwia:
- Zapoznanie się z różnymi środowiskami programistycznymi języka PL/SQL, których kopie znajdują się na dołączonej płycie CD
- Poznanie szczegółów składni języka PL/SQL: zmienne, typy danych, wyrażenia, operatory oraz struktury sterujące
- Zapewnienie spójności danych dzięki instrukcjom sterowania transakcjami dostępnym w SQL-u
- Wykorzystanie kursorów, które pozwalają na tworzenie zapytań zwracających wiele wierszy oraz jawną kontrolę przetwarzania instrukcji SQL
- Tworzenie programów PL/SQL, które wykrywają i inteligentnie reagują na błędy fazy wykonania
- Wykorzystanie możliwości tworzenia kolekcji wielopoziomowych w systemie Oracle9i
- Tworzenie i korzystanie z procedur, funkcji i pakietów
- Tworzenie wyzwalaczy DML zastępujących i systemowych w celu wymuszania złożonych ograniczeń danych
- Korzystanie z zalet języka PL/SQL, takich jak: procedury zewnętrzne, wbudowany dynamiczny SQL, masowe powiązania oraz typy obiektowe
Osoby które kupowały "Oracle9i. 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
Oracle9i. Programowanie w języku PL/SQL -- spis treści
O Autorze (13)
Wstęp (15)
Część I Wstęp i środowiska programisty (21)
Rozdział 1. Wprowadzenie do języka PL/SQL (23)
- Dlaczego język PL/SQL? (23)
- PL/SQL a praca w sieci (25)
- Normy (26)
- Właściwości języka PL/SQL (26)
- Struktura bloku (26)
- Obsługa błędów (27)
- Zmienne i typy danych (27)
- Instrukcje warunkowe (28)
- Konstrukcje pętli (29)
- Kursory (29)
- Procedury i funkcje (30)
- Pakiety (31)
- Kolekcje (32)
- Konwencje stosowane w książce (32)
- Wersje języka PL/SQL oraz bazy danych Oracle (32)
- Czcionki (34)
- Dokumentacja Oracle (34)
- Kod dostępny na płycie CD (34)
- Przykładowe tabele (35)
- Podsumowanie (40)
Rozdział 2. Środowiska programisty oraz wykonawcze (41)
- Modele aplikacji a PL/SQL (41)
- Model dwuwarstwowy (41)
- Model trójwarstwowy (45)
- Połączenie z bazą danych (46)
- Narzędzia programisty PL/SQL (47)
- Program SQL*Plus (48)
- Program Rapid SQL (52)
- Program DBPartner Debugger (56)
- Program SQL Navigator (60)
- Program TOAD (64)
- Program SQL-Programmer (68)
- Program PL/SQL Developer (71)
- Narzędzia programistyczne - podsumowanie (73)
- Podsumowanie (74)
Część II Podstawowe właściwości języka PL/SQL (75)
Rozdział 3. Podstawy języka PL/SQL (77)
- Blok PL/SQL (77)
- Podstawowa struktura bloku (82)
- Jednostki leksykalne (84)
- Identyfikatory (84)
- Ograniczniki (87)
- Literały (87)
- Komentarze (89)
- Deklaracje zmiennych (91)
- Składnia deklaracji (91)
- Inicjowanie zmiennych (93)
- Typy danych w języku PL/SQL (93)
- Typy skalarne (94)
- Typy złożone (103)
- Typy odnośników (103)
- Typy LOB (103)
- Typy obiektowe (104)
- Wykorzystanie atrybutu %Type (104)
- Podtypy definiowane przez użytkownika (105)
- Konwersja pomiędzy typami danych (106)
- Zakres i widoczność zmiennej (108)
- Wyrażenia i operatory (109)
- Przypisanie (109)
- Wyrażenia (110)
- Struktury sterowania PL/SQL (113)
- Instrukcja IF-THEN-ELSE (113)
- Instrukcja CASE (117)
- Pętle (121)
- Instrukcje GOTO oraz etykiety (125)
- Dyrektywy pragma (127)
- Rekordy w języku PL/SQL (128)
- Przypisanie rekordu (129)
- Zastosowanie operatora %ROWTYPE (131)
- Styl programowania w języku PL/SQL (131)
- Wprowadzanie komentarzy (132)
- Styl nazw zmiennych (133)
- Stosowanie dużych liter (133)
- Stosowanie odstępów (133)
- Ogólne uwagi dotyczące stylu programowania (134)
- Podsumowanie (134)
Rozdział 4. SQL w języku PL/SQL (135)
- Instrukcje SQL (135)
- Wykorzystanie instrukcji SQL w języku PL/SQL (136)
- Stosowanie dynamicznego SQL (137)
- Stosowanie instrukcji DML w języku PL/SQL (137)
- Instrukcja SELECT (139)
- Instrukcja INSERT (141)
- Instrukcja UPDATE (142)
- Instrukcja DELETE (143)
- Klauzula WHERE (144)
- WiÄ…zania zbiorcze (147)
- Klauzula RETURNING (149)
- Odnośniki do tabel (150)
- PowiÄ…zania bazy danych (151)
- Synonimy (151)
- Pseudokolumny (152)
- Pseudokolumny CURRVAL oraz NEXTVAL (152)
- Pseudokolumna LEVEL (153)
- Pseudokolumna ROWID (153)
- Pseudokolumna ROWNUM (154)
- Instrukcje GRANT i REVOKE. Uprawnienia (154)
- Uprawnienia obiektowe a uprawnienia systemowe (155)
- Instrukcje GRANT oraz REVOKE (155)
- Role (157)
- Sterowanie transakcjami (159)
- Instrukcja COMMIT a instrukcja ROLLBACK (159)
- Punkty zachowania (160)
- Transakcje a bloki (161)
- Transakcje autonomiczne (162)
- Podsumowanie (167)
Rozdział 5. Wbudowane funkcje SQL (169)
- Wstęp (169)
- Funkcje znakowe zwracające wartości znakowe (170)
- Funkcje SUBSTR, SUBSTRB, SUBSTRC, SUBSTR2 oraz SUBSTR4 (173)
- SOUNDEX (174)
- Funkcje znakowe zwracające wartości liczbowe (175)
- Funkcje INSTR, INSTRB, INSTRC, INSTR2 oraz INSTR4 (176)
- Funkcje LENGTH, LENGTHB, LENGTHC, LENGTH2 ? oraz LENGTH4 (177)
- Funkcje NLS (178)
- Funkcje numeryczne (180)
- Funkcja WIDTH_BUCKET (181)
- Funkcje zwiÄ…zane z datÄ… (182)
- Arytmetyka dat (184)
- Funkcje konwersji (186)
- Funkcja TO_CHAR (daty lub etykiety) (189)
- Funkcja TO_CHAR (liczby) (191)
- Funkcja TO_DATE (193)
- Funkcja TO_NUMBER (193)
- Funkcje TO_TIMESTAMP oraz TO_TIMESTAMP_TZ (194)
- Funkcje agregacji oraz funkcje analityczne (194)
- Inne funkcje (196)
- Funkcja DUMP (199)
- Funkcja USERENV (201)
- Podsumowanie (202)
Rozdział 6. Kursory (203)
- Czym jest kursor? (203)
- Przetwarzanie kursorów jawnych (204)
- Przetwarzanie kursorów niejawnych (212)
- Pętle pobierania danych kursora (214)
- Pętle proste (214)
- Pętle WHILE (216)
- Pętle FOR kursora (217)
- WyjÄ…tek NO_DATA_FOUND a atrybut %NOTFOUND (219)
- Kursory z klauzulÄ… FOR UPDATE instrukcji SELECT (219)
- Zmienne kursora (223)
- Deklaracja zmiennej kursora (224)
- Przydzielenie obszaru pamięci dla zmiennych kursora (225)
- Otwieranie zmiennej kursora dla zapytania (226)
- Zamykanie zmiennych kursora (227)
- Pierwszy przykład zmiennej kursora (227)
- Drugi przykład zmiennej kursora (229)
- Ograniczenia użycia zmiennych kursora (230)
- Podsumowanie (231)
Rozdział 7. Obsługa błędów (233)
- Czym jest wyjÄ…tek? (233)
- Deklarowanie wyjątków (235)
- Zgłaszanie wyjątków (239)
- Obsługa wyjątków (240)
- Dyrektywa pragma EXCEPTION_INIT (246)
- Zastosowanie funkcji RAISE_APPLICATION_ERROR (247)
- Propagacja wyjątków (250)
- Wyjątki wywołane w sekcji wykonania (250)
- Wyjątki zgłaszane w sekcji deklaracji (252)
- Wyjątki zgłaszane w sekcji wyjątków (254)
- Wskazówki dotyczące wyjątków (256)
- Zakres wyjątków (256)
- Unikanie nieobsługiwanych wyjątków (257)
- Maskowanie lokalizacji błędu (258)
- Ogólny program obsługi błędów (259)
- Podsumowanie (266)
Rozdział 8. Kolekcje (267)
- Deklaracje i stosowanie typów kolekcji (267)
- Tabele indeksowane (268)
- Tabele zagnieżdżone (272)
- Tablice VARRAY (276)
- Kolekcje wielopoziomowe (278)
- Porównanie pomiędzy typami kolekcji (279)
- Kolekcje w bazie danych (281)
- Implikacje dotyczÄ…ce kolekcji zapisanych w bazie danych (281)
- Modyfikowanie całych kolekcji (285)
- Działania z indywidualnymi elementami kolekcji (291)
- Metody kolekcji (297)
- EXISTS (297)
- COUNT (299)
- LIMIT (300)
- FIRST i LAST (301)
- NEXT i PRIOR (301)
- EXTEND (302)
- TRIM (304)
- DELETE (306)
- Podsumowanie (308)
Część III Dodatkowe właściwości języka PL/SQL (309)
Rozdział 9. Tworzenie procedur, funkcji i pakietów (311)
- Procedury i funkcje (311)
- Tworzenie podprogramu (312)
- Parametry podprogramów (318)
- Instrukcja CALL (336)
- Procedury a funkcje (339)
- Pakiety (339)
- Specyfikacja pakietu (339)
- Treść pakietu (341)
- Pakiety i zakres (343)
- Przeciążanie podprogramów pakietowych (345)
- Inicjalizacja pakietu (348)
- Podsumowanie (350)
Rozdział 10. Zastosowanie procedur, funkcji i pakietów (351)
- Położenie podprogramów (351)
- Podprogramy składowane oraz słownik danych (351)
- Podprogramy lokalne (354)
- Podprogramy składowane a podprogramy lokalne (359)
- Zagadnienia dotyczące podprogramów składowanych i pakietów (360)
- Zależności pomiędzy podprogramami (360)
- Stan pakietów w czasie wykonywania (370)
- Uprawnienia i podprogramy składowane (375)
- Stosowanie składowanych funkcji w instrukcjach SQL (385)
- Poziomy czystości (386)
- Parametry domyślne (393)
- Wywołanie funkcji składowanych z instrukcji SQL w systemie Oracle8i (393)
- Przytwierdzanie obiektów w obszarze wspólnym (396)
- KEEP (397)
- UNKEEP (398)
- SIZES (398)
- ABORTED_REQUEST_THRESHOLD (398)
- Podsumowanie (398)
Rozdział 11. Wyzwalacze (399)
- Rodzaje wyzwalaczy (399)
- Tworzenie wyzwalaczy (403)
- Tworzenie wyzwalaczy DML (403)
- Tworzenie wyzwalaczy zastępujących (413)
- Tworzenie wyzwalaczy systemowych (419)
- Inne zagadnienia zwiÄ…zane z wyzwalaczami (426)
- Wyzwalacze a słownik danych (430)
- Tabele mutujÄ…ce (432)
- Przykład tabeli mutującej (434)
- Rozwiązanie problemu błędu tabeli mutującej (435)
- Podsumowanie (438)
Rozdział 12. Zaawansowane właściwości (439)
- Właściwości języka (439)
- Procedury zewnętrzne (439)
- Wbudowany dynamiczny SQL (442)
- Masowe powiÄ…zania (447)
- Typy obiektowe (454)
- Duże obiekty (458)
- Potokowe funkcje tabel (461)
- Zaawansowane pakiety (462)
- DBMS_SQL (462)
- DBMS_PIPE (463)
- DBMS_ALERT (465)
- UTL_FILE (466)
- UTL_TCP (467)
- UTL_SMTP (468)
- UTL_HTTP (469)
- UTL_INADDR (470)
- DBMS_JOB (470)
- DBMS_LOB (472)
- Podsumowanie (475)
Dodatki (477)
Dodatek A Pakiety dostępne w języku PL/SQL (479)
- Opis pakietów (479)
- DBMS_ALERT (479)
- DBMS_APPLICATION_INFO (480)
- DBMS_AQ (480)
- DBMS_AQADM (480)
- DBMS_AQELM (480)
- DBMS_BACKUP_RESTORE (481)
- DBMS_DDL (481)
- DBMS_DEBUG (481)
- DBMS_DEFER (482)
- DBMS_DEFER_QUERY (482)
- DBMS_DEFER_SYS (482)
- DBMS_DESCRIBE (482)
- DBMS_DISTRIBUTED_TRUST_ADMIN (483)
- DBMS_FGA (483)
- DBMS_FLASHBACK (483)
- DBMS_HS (483)
- DBMS_HS_PASSTHROUGH (484)
- DBMS_IOT (484)
- DBMS_JAVA (484)
- DBMS_JOB (484)
- DBMS_LDAP (485)
- DBMS_LIBCACHE (485)
- DBMS_LOB (485)
- DBMS_LOCK (485)
- DBMS_LOGMNR (485)
- DBMS_LOGMNR_CDC_PUBLISH (486)
- DBMS_LOGMNR_CDC_SUBSCRIBE (486)
- DBMS_LOGMNR_D (486)
- DBMS_METADATA (486)
- DBMS_MVIEW (DBMS_SNAPSHOT) (487)
- DBMS_OBFUSCATION_TOOLKIT (487)
- DBMS_ODCI (487)
- DBMS_OFFLINE_OG (487)
- DBMS_OFFLINE_SNAPSHOT (487)
- DBMS_OLAP (488)
- DBMS_ORACLE_TRACE_AGENT (488)
- DBMS_ORACLE_TRACE_USER (488)
- DBMS_OUTLN (488)
- DBMS_OUTLN_EDIT (488)
- DBMS_OUTPUT (489)
- DBMS_PCLXUTIL (489)
- DBMS_PIPE (489)
- DBMS_PROFILER (489)
- DBMS_RANDOM (490)
- DBMS_RECTIFIER_DIFF (490)
- DBMS_REDIFINITION (490)
- DBMS_REFRESH (490)
- DBMS_REPAIR (490)
- DBMS_REPCAT, DBMS_REPCAT_ADMIN, DBMS_REPCAT_ INSTANTIATE, DBMS_REPCAT_RGT oraz DBMS_REPUTIL (491)
- DBMS_RESOURCE_MANAGER i DBMS_RESOURCE_ MANAGER_PRIVS (491)
- DBMS_RESUMABLE (491)
- DBMS_RLS (492)
- DBMS_ROWID (492)
- DBMS_SESSION (492)
- DBMS_SHARED_POOL (492)
- DBMS_SPACE i DBMS_SPACE_ADMIN (493)
- DBMS_SQL (493)
- DBMS_STANDARD i STANDARD (493)
- DBMS_STATS (493)
- DBMS_TRACE (493)
- DBMS_TRANSACTION (494)
- DBMS_TRANSFORM (494)
- DBMS_TTS (494)
- DBMS_TYPES (494)
- DBMS_UTILITY (495)
- DBMS_WM (495)
- DBMS_XMLQUERY, DBMS_XMLSAVE i XMLGEN (495)
- DEBUG_EXTPROC (495)
- SDO_CS, SDO_GEOM, SDE_LRS, SDO_MIGRATE i SDO_TUNE (495)
- UTL_COLL (496)
- UTL_ENCODE (496)
- UTL_FILE (496)
- UTL_HTTP (496)
- UTL_INADDR (497)
- UTL_PG (497)
- UTL_RAW (497)
- UTL_REF (497)
- UTL_SMTP (498)
- UTL_TCP (498)
- UTL_URL (498)
Dodatek B Słowa kluczowe w języku PL/SQL (499)
- Tablica zarezerwowanych słów (499)
Dodatek C SÅ‚ownik danych (503)
- Czym jest słownik danych? (503)
- Standardy nazewnictwa (503)
- Uprawnienia (504)
- Rodzaje perspektyw (504)
- Zestawienie dostępnych perspektyw (505)
- Relacyjne klastry, tabele i perspektywy (505)
- Kolekcje, obiekty LOB oraz typy obiektowe (507)
- Perspektywy wprowadzone w systemach Oracle8i oraz Oracle9i (508)
- Inne obiekty bazy danych (510)
- Partycje i podpartycje (511)
- Indeksy (513)
- Materializowane perspektywy, podsumowania i migawki (514)
- Podprogramy, metody i wyzwalacze (516)
- Kody źródłowe i błędy kompilacji (517)
- Zależności i ograniczenia (518)
- Statystyki i audyt (518)
- Uprawnienia i ich nadawanie (519)
Skorowidz (521)