Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00271 009087 10486267 na godz. na dobę w sumie
Oracle8. Programowanie w języku PL/SQL - książka
Oracle8. Programowanie w języku PL/SQL - książka
Autor: Liczba stron: 768
Wydawca: Helion Język publikacji: polski
ISBN: 83-7197-533-3 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> bazy danych >> oracle - programowanie
Porównaj ceny (książka, ebook, audiobook).
Wykorzystanie wbudowanego w system Oracle języka PL/SQL w znaczący sposób powiększa potencjał programisty systemów bazodanowych. PL/SQL łączy w sobie duże możliwości i elastyczność języka czwartej generacji (4GL) SQL z konstrukcjami proceduralnymi języka trzeciej generacji (3GL). 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 'Oracle8. Programowanie w języku PL/SQL' to wyczerpujące omówienie języka PL/SQL. To doskonała pozycja ułatwiająca naukę tego języka, świetnie też sprawdza się jako podręczne kompendium wiedzy o PL/SQL, pomocne w codziennej pracy. Liczne przykłady uzupełniają informacje zawarte w książce pokazując sprawdzone metody rozwiązywania problemów, napotykanych przez programistów.

W książce omówiono między innymi:

Książka jest przeznaczona zarówno dla doświadczonych programistów, jak i tych, którzy jeszcze nie poznali innych języków trzeciej generacji. Przydatna, choć niekonieczna, jest ogólna znajomość systemu Oracle (łączenie się i korzystanie z bazy danych, podstawy języka SQL, itp.).

Poznaj język PL/SQL i wykorzystaj wszystkie możliwości systemu Oracle.

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TREĎCI SPIS TREĎCI KATALOG KSI¥¯EK KATALOG KSI¥¯EK KATALOG ONLINE KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK TWÓJ KOSZYK DODAJ DO KOSZYKA DODAJ DO KOSZYKA CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE ZAMÓW INFORMACJE O NOWOĎCIACH O NOWOĎCIACH ZAMÓW CENNIK ZAMÓW CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl Oracle8. Programowanie w jêzyku PL/SQL Autor: Scott Urman T³umaczenie: Tomasz Pêdziwiatr, Grzegorz Stawikowski, Cezary Welsyng ISBN: 83-7197-533-3 Tytu³ orygina³u: Oracle8 PL/SQL Programming Format: B5, stron: 762 Wykorzystanie wbudowanego w system Oracle jêzyka PL/SQL w znacz¹cy sposób powiêksza potencja³ programisty systemów bazodanowych. PL/SQL ³¹czy w sobie du¿e mo¿liwoġci i elastycznoġæ jêzyka czwartej generacji (4GL) SQL z konstrukcjami proceduralnymi jêzyka trzeciej generacji (3GL). 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 „Oracle8. Programowanie w jêzyku PL/SQL” to wyczerpuj¹ce omówienie jêzyka PL/SQL. To doskona³a pozycja u³atwiaj¹ca naukê tego jêzyka, ġwietnie te¿ sprawdza siê jako podrêczne kompendium wiedzy o PL/SQL, pomocne w codziennej pracy. Liczne przyk³ady uzupe³niaj¹ informacje zawarte w ksi¹¿ce pokazuj¹c sprawdzone metody rozwi¹zywania problemów, napotykanych przez programistów. W ksi¹¿ce omówiono miêdzy innymi: • Podstawy jêzyka PL/SQL: struktura programu, zmienne, typy, wyra¿enia i operatory oraz instrukcje steruj¹ce • Korzystanie z rekordów i tabel • Korzystanie z SQL z poziomu PL/SQL, funkcje SQL dostêpne w PL/SQL • Tworzenie i u¿ywanie kursorów • Bloki w PL/SQL: podprogramy (procedury i funkcje), pakiety i wyzwalacze • Metody obs³ugi b³êdów w PL/SQL • Obiekty w PL/SQL, kolekcje • Testowanie i wykrywanie b³êdów • Zagadnienia zaawansowane: dynamiczny PL/SQL, komunikacja miêdzy sesjami, kolejkowanie, obs³uga zadañ, procedury zewnêtrzne • Optymalizacja aplikacji PL/SQL i metody zapewnienia maksymalnej wydajnoġci Ksi¹¿ka jest przeznaczona zarówno dla doġwiadczonych programistów, jak i tych, którzy jeszcze nie poznali innych jêzyków trzeciej generacji. Przydatna, choæ niekonieczna, jest ogólna znajomoġæ systemu Oracle (³¹czenie siê i korzystanie z bazy danych, podstawy jêzyka SQL, itp.). Spis treści Wstęp ...................................................o................................................17 Rozdział 1. Wprowadzenie do PL/SQL...................................................o...................23 Dlaczego język PL/SQL?...................................................j...................................................j....23 Model klient-serwer...................................................j...................................................j......25 Normy ...................................................j...................................................j...........................26 Właściwości języka PL/SQL ...................................................j.................................................26 Struktura bloku ...................................................j...................................................j.............26 Zmienne i typy danych ...................................................j...................................................j.27 Konstrukcje pętlowe ...................................................j...................................................j.....28 Konwencje stosowane w niniejszej książce...................................................j...........................30 Wersje języka PL/SQL oraz bazy danych Oracle...................................................j............30 Dokumentacja Oracle ...................................................j...................................................j...31 Kod dostępny na płycie CD...................................................j.............................................32 Przykładowe tabele ...................................................j...................................................j.............32 Podsumowanie ...................................................j...................................................j....................38 Rozdział 2. Podstawy języka PL/SQL ...................................................o....................39 Blok PL/SQL........................................j...................................................j..................................39 Podstawowa struktura bloku...................................................j............................................42 Jednostki leksykalne ...................................................j...................................................j...........44 Identyfikatory ...................................................j...................................................j...............44 Ograniczniki ...................................................j...................................................j.................46 Literały...................................................j...................................................j..........................48 Komentarze...................................................j...................................................j...................49 Deklaracje zmiennych...................................................j...................................................j.........51 Składnia deklaracji...................................................j...................................................j........51 Inicjowanie zmiennych...................................................j...................................................j.52 Typy danych w języku PL/SQL...................................................j.............................................53 Typy skalarne...................................................j...................................................j................53 Typy złożone ...................................................j...................................................j................60 Typy odwołania ...................................................j...................................................j............60 Typy LOB...................................................j...................................................j.....................60 Wykorzystanie atrybutu Type ...................................................j......................................61 Podtypy definiowane przez użytkownika...................................................j........................62 Konwersja pomiędzy typami danych...................................................j...............................62 Zakres i widoczność zmiennej...................................................j.........................................64 Wyrażenia i operatory...................................................j...................................................j.........65 Przypisanie...................................................j...................................................j....................66 Wyrażenia ...................................................j...................................................j.....................67 6 Oracle8. Programowanie w języku PL/SQL Struktury sterowania PL/SQL...................................................j................................................69 Instrukcja IF-THEN-ELSE...................................................j..............................................70 Pętle ...................................................j...................................................j..............................73 Instrukcje GOTO oraz etykiety ...................................................j.......................................77 Dyrektywy pragma ...................................................j...................................................j.......80 Styl programowania w języku PL/SQL ...................................................j.................................80 Wprowadzanie komentarzy ...................................................j.............................................81 Nazywanie zmiennych...................................................j...................................................j..82 Stosowanie dużych liter...................................................j...................................................j82 Odstępy w kodzie programu...................................................j............................................82 Ogólne uwagi dotyczące stylu programowania...................................................j...............83 Podsumowanie ...................................................j...................................................j....................83 Rozdział 3. Rekordy i tabele ...................................................o.................................85 Rekordy w języku PL/SQL ...................................................j...................................................j.85 Przypisanie rekordu ...................................................j...................................................j......86 Stosowanie operatora ROWTYPE ...................................................j...............................88 Tabele...................................................j...................................................j..................................88 Tabele a tablice ...................................................j...................................................j.............89 Atrybuty tabeli ...................................................j...................................................j..............91 Wytyczne stosowania tabel PL/SQL ...................................................j...............................94 Podsumowanie ...................................................j...................................................j....................95 Rozdział 4. SQL w PL/SQL...................................................o....................................97 Instrukcje SQL ...................................................j...................................................j....................97 Wykorzystanie instrukcji SQL w języku PL/SQL...................................................j...........98 Stosowanie instrukcji DML w języku PL/SQL ...................................................j.....................99 Instrukcja SELECT...................................................j...................................................j.....101 Instrukcja INSERT ...................................................j...................................................j.....102 Instrukcja UPDATE...................................................j...................................................j....104 Instrukcja DELETE ...................................................j...................................................j....104 Klauzula WHERE...................................................j...................................................j.......105 Odwołania do tabel ...................................................j...................................................j.....108 Powiązania bazy danych...................................................j................................................109 Synonimy...................................................j...................................................j....................110 Pseudokolumny...................................................j...................................................j.................110 Pseudokolumny CURRVAL oraz NEXTVAL...................................................j..............110 Pseudokolumna LEVEL ...................................................j................................................111 Pseudokolumna ROWID ...................................................j...............................................111 Pseudokolumna ROWNUM ...................................................j..........................................112 Instrukcje GRANT i REVOKE. Uprawnienia...................................................j.....................112 Uprawnienia obiektowe a uprawnienia systemowe...................................................j.......113 Instrukcje GRANT oraz REVOKE ...................................................j...............................113 Role...................................................j...................................................j.............................115 Sterowanie transakcjami ...................................................j...................................................j...116 Instrukcja COMMIT a instrukcja ROLLBACK...................................................j............116 Punkty zachowania ...................................................j...................................................j.....118 Transakcje a bloki...................................................j...................................................j.......119 Podsumowanie ...................................................j...................................................j..................120 Rozdział 5. Wbudowane funkcje SQL...................................................o...................121 Wstęp ...................................................j...................................................j................................121 Funkcje znakowe zwracające wartości znakowe ...................................................j.................122 CHR ...................................................j...................................................j............................122 CONCAT...................................................j...................................................j....................122 Spis treści 7 INITCAP................................................j...................................................j........................123 LOWER ...................................................j...................................................j......................123 LPAD...................................................j...................................................j..........................124 LTRIM...................................................j...................................................j........................125 NLS_INITCAP ...................................................j...................................................j...........125 NLS_LOWER...................................................j...................................................j.............126 NLS_UPPER ...................................................j...................................................j..............126 REPLACE...................................................j...................................................j...................127 RPAD...................................................j...................................................j..........................128 RTRIM...................................................j...................................................j........................128 SOUNDEX ...................................................j...................................................j.................129 SUBSTR ...................................................j...................................................j.....................130 SUBSTRB...............................................j...................................................j.......................131 TRANSLATE ...................................................j...................................................j.............131 UPPER...................................................j...................................................j........................132 Funkcje znakowe zwracające wartości liczbowe...................................................j.................133 ASCII...................................................j...................................................j..........................133 INSTR...................................................j...................................................j.........................133 INSTRB ...................................................j...................................................j......................134 LENGTH ...................................................j...................................................j....................135 LENGTHB...................................................j...................................................j..................135 NLSSORT...............................................j...................................................j.......................136 Funkcje numeryczne ...................................................j...................................................j.........136 ABS.................................................j...................................................j...............................136 ACOS...................................................j...................................................j..........................137 ASIN ...................................................j...................................................j...........................137 ATAN ...................................................j...................................................j.........................138 ATAN2 ...................................................j...................................................j.......................138 CEIL ...................................................j...................................................j...........................139 COS.................................................j...................................................j...............................139 COSH...................................................j...................................................j..........................140 EXP...................................................j...................................................j.............................140 FLOOR ...................................................j...................................................j.......................140 LN ...................................................j...................................................j...............................141 LOG ...................................................j...................................................j............................141 MOD ...................................................j...................................................j...........................142 POWER ...................................................j...................................................j......................142 ROUND ...................................................j...................................................j......................143 SIGN ...................................................j...................................................j...........................143 SIN...................................................j...................................................j..............................144 SINH ...................................................j...................................................j...........................144 SQRT ...................................................j...................................................j..........................144 TAN ...................................................j...................................................j............................145 TANH ...................................................j...................................................j.........................145 TRUNC...................................................j...................................................j.......................146 Funkcje związane z datą ...................................................j...................................................j...146 ADD_MONTHS...................................................j...................................................j.........146 LAST_DAY...................................................j...................................................j................147 MONTHS_BETWEEN ...................................................j.................................................147 NEW_TIME ...................................................j...................................................j...............148 NEXT_DAY ...................................................j...................................................j...............149 ROUND ...................................................j...................................................j......................149 SYSDATE ...................................................j...................................................j..................150 TRUNC...................................................j...................................................j.......................151 8 Oracle8. Programowanie w języku PL/SQL Funkcje dokonujące konwersji...................................................j.............................................152 CHARTOROWID ...................................................j...................................................j......152 CONVERT ...................................................j...................................................j.................153 HEXTORAW ...................................................j...................................................j.............153 RAWTOHEX ...................................................j...................................................j.............154 ROWIDTOCHAR ...................................................j...................................................j......154 TO_CHAR(daty) ...................................................j...................................................j........155 TO_CHAR(etykiety) ...................................................j...................................................j..155 TO_CHAR(liczba)...................................................j...................................................j......157 TO_DATE ...................................................j...................................................j..................159 TO_LABEL ...................................................j...................................................j................159 TO_MULTI_BYTE...................................................j...................................................j....160 TO_NUMBER...................................................j...................................................j............160 TO_SINGLE_BYTE ...................................................j...................................................j..161 Funkcje grupowe...................................................j...................................................j...............161 AVG...................................................j...................................................j............................161 COUNT.................................................j...................................................j.........................162 GLB ...................................................j...................................................j............................163 LUB ...................................................j...................................................j............................163 MAX ...................................................j...................................................j...........................163 MIN.................................................j...................................................j...............................164 STDDEV...............................................j...................................................j.........................164 SUM...................................................j...................................................j............................165 VARIANCE...................................................j...................................................j................165 Inne funkcje.........................................j...................................................j.................................166 BFILENAME ...................................................j...................................................j.............166 DECODE ...................................................j...................................................j....................166 DUMP...................................................j...................................................j.........................167 EMPTY_CLOB/EMPTY_BLOB...................................................j..................................169 GREATEST...................................................j...................................................j................169 GREATEST_LB...................................................j...................................................j.........170 LEAST...................................................j...................................................j........................170 LEAST_UB ...................................................j...................................................j................170 NVL ...................................................j...................................................j............................171 UID ...................................................j...................................................j.............................171 USER ...................................................j...................................................j..........................172 USERENV...................................................j...................................................j..................172 VSIZE ...................................................j...................................................j.........................173 PL/SQL w działaniu. Drukowanie liczb w postaci tekstowej.................................................174 Podsumowanie ...................................................j...................................................j..................180 Rozdział 6. Kursory ...................................................o............................................181 Czym jest kursor?....................................j...................................................j.............................181 Przetwarzanie kursorów jawnych ...................................................j..................................182 Przetwarzanie kursorów niejawnych ...................................................j.............................189 Pętle pobierania danych kursora ...................................................j..........................................191 Pętle proste...................................................j...................................................j..................191 Pętle WHILE ...................................................j...................................................j..............193 Pętle FOR kursora...................................................j...................................................j.......194 Wyjątek NO_DATA_FOUND kontra atrybut NOTFOUND .......................................195 Kursory z klauzulą FOR UPDATE instrukcji SELECT...................................................j196 Zmienne kursora ...................................................j...................................................j...............199 Deklaracja zmiennej kursora ...................................................j.........................................200 Przydzielenie obszaru pamięci dla zmiennych kursora ...................................................j.201 Otwieranie zmiennej kursora dla zapytania...................................................j...................202 Spis treści 9 Zamykanie zmiennych kursora...................................................j......................................203 Pierwszy przykład zmiennej kursora ...................................................j.............................203 Drugi przykład zmiennej kursora ...................................................j..................................205 Ograniczenia użycia zmiennych kursora ...................................................j.......................206 Podsumowanie ...................................................j...................................................j..................207 Rozdział 7. Podprogramy: procedury i funkcje ...................................................o.....209 Tworzenie procedur i funkcji...................................................j...............................................209 Tworzenie procedury ...................................................j...................................................j..210 Tworzenie funkcji...................................................j...................................................j.......221 Wyjątki wywoływane wewnątrz podprogramów ...................................................j..........224 Usuwanie procedur i funkcji...................................................j..........................................226 Położenie podprogramów ...................................................j...................................................j.226 Składowane podprogramy oraz słownik danych ...................................................j...........226 Podprogramy lokalne...................................................j...................................................j..228 Zależności dotyczące podprogramów...................................................j..................................231 Określanie zależności ...................................................j...................................................j.233 Uprawnienia i podprogramy składowane ...................................................j............................236 Uprawnienie EXECUTE ...................................................j...............................................236 Składowane podprogramy i role...................................................j....................................237 Podsumowanie ...................................................j...................................................j..................239 Rozdział 8. Pakiety ...................................................o............................................241 Pakiety...................................................j...................................................j...............................241 Specyfikacja pakietu...................................................j...................................................j...241 Ciało pakietu...................................................j...................................................j...............243 Pakiety i zakres ...................................................j...................................................j...........245 Przeciążenie podprogramów pakietowych ...................................................j....................246 Inicjalizacja pakietu ...................................................j...................................................j....247 Pakiety i zależności...................................................j...................................................j.....249 Stosowanie składowanych funkcji w instrukcjach SQL ...................................................j......251 Poziomy czystości ...................................................j...................................................j......252 Parametry domyślne ...................................................j...................................................j...256 PL/SQL w działaniu — Eksporter schematów PL/SQL...................................................j......256 Podsumowanie ...................................................j...................................................j..................264 Rozdział 9. Wyzwalacze...................................................o......................................265 Tworzenie wyzwalaczy...................................................j...................................................j.....265 Komponenty wyzwalacza...................................................j..............................................267 Wyzwalacze i słownik danych...................................................j.......................................270 Kolejność uruchamiania wyzwalaczy...................................................j............................272 Stosowanie wartości :old oraz :new w wyzwalaczach na poziomie wiersza ...................273 Korzystanie z predykatów wyzwalacza: INSERTING, UPDATING oraz DELETING.....276 Tabele mutujące ...................................................j...................................................j................278 Przykład tabeli mutującej ...................................................j..............................................280 Rozwiązanie problemu błędu tabeli mutującej...................................................j..............281 PL/SQL w działaniu — wdrażanie techniki kaskadowego uaktualniania ..............................283 Program narzędziowy kaskadowego uaktualniania...................................................j.......285 Działanie pakietu kaskadowego uaktualniania...................................................j..............288 Podsumowanie ...................................................j...................................................j..................292 Rozdział 10. Obsługa błędów ...................................................o................................293 Zdefiniowanie wyjątku ...................................................j...................................................j.....293 Deklarowanie wyjątków ...................................................j................................................295 Wywoływanie wyjątków ...................................................j...............................................298 Obsługa wyjątków ...................................................j...................................................j......299 10 Oracle8. Programowanie w języku PL/SQL Dyrektywa pragma EXCEPTION_INIT ...................................................j.......................305 Stosowanie funkcji RAISE_APPLICATION_ERROR ...................................................j305 Propagacja wyjątków ...................................................j...................................................j........308 Wyjątki wywołane w sekcji wykonania ...................................................j........................308 Wyjątki wywołane w sekcji deklaracji ...................................................j..........................310 Wyjątki wywołane w sekcji wyjątków ...................................................j..........................312 Wytyczne wyjątków...................................................j...................................................j..........314 Zakres wyjątków...................................................j...................................................j.........314 Unikanie nieobsługiwanych wyjątków...................................................j..........................315 Maskowanie lokalizacji błędu ...................................................j.......................................315 PL/SQL w działaniu — ogólny program obsługi błędów...................................................j....316 Podsumowanie ...................................................j...................................................j..................324 Rozdział 11. Obiekty ...................................................o............................................325 Wprowadzenie ...................................................j...................................................j..................325 Podstawy programowania obiektowego ...................................................j........................325 Obiektowo-relacyjne bazy danych ...................................................j................................327 Typy obiektów ...................................................j...................................................j..................328 Definiowanie typów obiektowych...................................................j.................................328 Deklarowanie i inicjalizacja obiektów...................................................j...........................330 Metody...................................................j...................................................j........................332 Zmiana i usuwanie typów...................................................j..............................................338 Zależności między obiektami ...................................................j........................................340 Obiekty w bazie danych...................................................j...................................................j....340 Położenie obiektów...................................................j...................................................j.....341 Obiekty w instrukcjach DML ...................................................j........................................344 Metody MAP i ORDER...................................................j.................................................349 Podsumowanie ...................................................j...................................................j..................351 Rozdział 12. Kolekcje...................................................o...........................................353 Tabele zagnieżdżone ...................................................j...................................................j.........353 Deklarowanie tabeli zagnieżdżonej ...................................................j...............................353 Zagnieżdżone tabele w bazie danych ...................................................j............................356 Tabele zagnieżdżone a tabele indeksowe ...................................................j......................361 Tablice o zmiennym rozmiarze...................................................j............................................361 Deklarowanie tablicy o zmiennym rozmiarze ...................................................j...............362 Tablice o zmiennym rozmiarze w bazie danych...................................................j............363 Tablice o zmiennym rozmiarze a tabele zagnieżdżone ...................................................j.365 Metody dla kolekcji ...................................................j...................................................j..........366 EXISTS...................................................j...................................................j.......................366 COUNT.................................................j...................................................j.........................367 LIMIT ...................................................j...................................................j.........................368 FIRST i LAST ...................................................j...................................................j............368 NEXT i PRIOR...................................................j...................................................j...........369 EXTEND ...................................................j...................................................j....................369 TRIM ...................................................j...................................................j..........................371 DELETE ...................................................j...................................................j.....................373 Podsumowanie ...................................................j...................................................j..................374 Rozdział 13. Środowiska wykonawcze PL/SQL ...................................................o......375 Różne mechanizmy języka PL/SQL ...................................................j....................................375 Implikacje umieszczenia mechanizmu PL/SQL po stronie klienta ..................................377 Mechanizm PL/SQL po stronie serwera ...................................................j..............................378 Program SQL*Plus ...................................................j...................................................j.....378 Prekompilatory Oracle...................................................j...................................................j383 Spis treści 11 OCI ...................................................j...................................................j.............................389 Program SQL-Station ...................................................j...................................................j.392 Mechanizm PL/SQL po stronie klienta...................................................j................................396 Przyczyny wykorzystywania mechanizmu PL/SQL po stronie klienta............................396 Program Oracle Forms...................................................j...................................................j397 Program Procedure Builder ...................................................j...........................................399 Wrapper PL/SQL ...................................................j...................................................j..............401 Wykonanie wrappera ...................................................j...................................................j..401 Pliki wejścia i wyjścia ...................................................j...................................................j402 Sprawdzanie syntaktyki i semantyki ...................................................j.............................402 Wytyczne dla programu wrapper...................................................j...................................403 Podsumowanie ...................................................j...................................................j..................403 Rozdział 14. Testowanie i wykrywanie błędów...................................................o.......405 Diagnostyka problemu ...................................................j...................................................j......405 Wytyczne wykrywania i usuwania błędów ...................................................j...................405 Pakiet Debug służący do wykrywania i usuwania błędów...............................................407 Wstawianie do tabeli testowania...................................................j..........................................407 Problem 1...................................................j...................................................j....................407 Pakiet DBMS_OUTPUT ...................................................j...................................................j..415 Składniki pakietu DBMS_OUTPUT ...................................................j.............................416 Problem 2...................................................j...................................................j....................420 Programy PL/SQL służące do wykrywania i usuwania błędów .............................................426 Program Procedure Builder...................................................j..................................................426 Problem 3...................................................j...................................................j....................426 Program SQL-Station...................................................j...................................................j........432 Problem 4...................................................j...................................................j....................433 Porównanie programów Procedure Builder i SQL-Station...................................................j..437 Metodyka programowania ...................................................j...................................................j438 Programowanie modularne...................................................j............................................438 Projektowanie zstępujące...................................................j...............................................439 Abstrakcja danych ...................................................j...................................................j......440 Podsumowanie ...................................................j...................................................j..................440 Rozdział 15. Dynamiczny PL/SQL ...................................................o.........................441 Wprowadzenie ...................................................j...................................................j..................441 Instrukcje SQL statyczne a instrukcje dynamiczne ...................................................j.......441 Ogólny opis pakietu DBMS_SQL ...................................................j.................................442 Wykonywanie instrukcji DML oraz DDL nie będących zapytaniami....................................446 Otwieranie kursora...................................................j...................................................j......447 Parsowanie instrukcji...................................................j...................................................j..447 Wiązanie każdej zmiennej wejściowej ...................................................j..........................448 Wykonanie instrukcji...................................................j...................................................j..450 Zamykanie kursora ...................................................j...................................................j.....450 Przykład ...................................................j...................................................j......................451 Wykonywanie instrukcji DDL...................................................j.......................................452 Wykonywanie zapytań...................................................j...................................................j453 Parsowanie instrukcji...................................................j...................................................j..454 Zdefiniowanie zmiennych wyjściowych ...................................................j.......................454 Pobieranie wierszy...................................................j...................................................j......456 Zwracanie wyników do zmiennych PL/SQL...................................................j.................456 Przykład ...................................................j...................................................j......................458 Wykonywanie bloku PL/SQL...................................................j..............................................461 Parsowanie instrukcji...................................................j...................................................j..461 Pobranie wartości każdej zmiennej wyjściowej ...................................................j............462 12 Oracle8. Programowanie w języku PL/SQL Przykład ...................................................j...................................................j......................463 Zastosowanie parametru out_value_size ...................................................j.......................465 PL/SQL w działaniu — wykonywanie dowolnych procedur składowanych .........................466 Udoskonalenia pakietu DBMS_SQL w wydaniu PL/SQL 8.0...............................................472 Parsowanie dużych ciągów znaków instrukcji SQL...................................................j......473 Przetwarzanie tablicowe za pomocą pakietu DBMS_SQL ..............................................474 Opisywanie listy instrukcji SELECT...................................................j.............................478 Różne procedury ...................................................j...................................................j...............481 Pobieranie danych typu LONG ...................................................j.....................................481 Dodatkowe funkcje obsługi błędów ...................................................j..............................482 PL/SQL w działaniu — zapisywanie wartości typu LONG do pliku .....................................484 Uprawnienia a pakiet DBMS_SQL...................................................j......................................486 Uprawnienia wymagane dla pakietu DBMS_SQL...................................................j........486 Role a pakiet DBMS_SQL ...................................................j............................................487 Porównanie pakietu DBMS_SQL z innymi metodami przetwarzania dynamicznego ...........487 Opisywanie listy instrukcji SELECT...................................................j.............................488 Przetwarzanie tablicowe ...................................................j................................................488 Operacje dzielenia na części danych typu LONG ...................................................j.........488 Różnice interfejsów ...................................................j...................................................j....489 Wskazówki i techniki...................................................j...................................................j........489 Ponowne zastosowanie kursorów ...................................................j..................................489 Zezwolenia...................................................j...................................................j..................489 Zawieszenia programu związane z operacjami DDL ...................................................j....490 Podsumowanie ...................................................j...................................................j..................490 Rozdział 16. Komunikacja między sesjami...................................................o.............491 Pakiet DBMS_PIPE ...................................................j...................................................j..........491 Wysyłanie komunikatu ...................................................j..................................................495 Odbieranie komunikatu ...................................................j.................................................496 Tworzenie potoków i zarządzanie nimi...................................................j.........................498 Uprawnienia i bezpieczeństwo ...................................................j......................................500 Ustanawianie protokołu komunikacji ...................................................j............................501 Przykład ...................................................j...................................................j......................503 Pakiet DBMS_ALERT ...................................................j...................................................j.....509 Wysyłanie ostrzeżenia ...................................................j...................................................j509 Odbieranie ostrzeżenia...................................................j...................................................j509 Inne procedury ...................................................j...................................................j............511 Ostrzeżenia i słownik danych ...................................................j........................................512 Porównanie pakietów DBMS_PIPE i DBMS_ALERT...................................................j.......514 Podsumowanie ...................................................j...................................................j..................515 Rozdział 17. Zaawansowane kolejkowanie w Oracle.................................................517 Wprowadzenie ...................................................j...................................................j..................517 Elementy systemu zaawansowanego kolejkowania ...................................................j......518 Realizacja zaawansowanego kolejkowania ...................................................j...................520 Operacje na kolejkach...................................................j...................................................j.......520 Typy pomocnicze...................................................j...................................................j........521 Operacja ENQUEUE ...................................................j...................................................j..525 Operacja DEQUEUE ...................................................j...................................................j..526 Administrowanie kolejką ...................................................j...................................................j..526 Podprogramy pakietu DBMS_AQADM ...................................................j.......................526 Uprawnienia do kolejek...................................................j.................................................533 Kolejki i słownik danych ...................................................j...............................................533 Przykłady ...................................................j...................................................j..........................536 Tworzenie kolejek i tabel kolejek...................................................j..................................536 Proste wstawianie i odbieranie komunikatów ...................................................j...............538 Spis treści 13 „Czyszczenie” kolejek ...................................................j...................................................j539 Wstawianie i odbieranie komunikatów z uwzględnieniem priorytetów...........................540 Wstawianie i odbieranie komunikatów z wykorzystaniem idjentyfikatora korelacji lub identyfikatora komunikatu ...................................................j.................542 Przeglądanie kolejek...................................................j...................................................j...544 Stosowanie kolejek wyjątków ...................................................j.......................................546 Usuwanie kolejek...................................................j...................................................j........548 Podsumowanie ...................................................j...................................................j..................549 Rozdział 18. Obsługa zadań i plików w bazie danych ................................................551 Zadania w bazie danych...................................................j...................................................j....551 Procesy drugoplanowe...................................................j...................................................j551 Uruchamianie zadania ...................................................j...................................................j552 Zadania niewykonane ...................................................j...................................................j.556 Usuwanie zadania ...................................................j...................................................j.......557 Dokonywanie zmian w zadaniu...................................................j.....................................557 Przeglądanie zadań w słowniku danych ...................................................j........................558 Warunki wykonywania zadań...................................................j........................................558 Obsługa plików ...................................................j...................................................j.................558 Zabezpieczenia ...................................................j...................................................j...........559 Wyjątki w pakiecie UTL_FILE ...................................................j.....................................560 Otwieranie i zamykanie plików ...................................................j.....................................561 Zapis do pliku ...................................................j...................................................j.............563 Odczyt z pliku...................................................j...................................................j.............566 Przykłady ...................................................j...................................................j....................566 Podsumowanie ...................................................j...................................................j..................573 Rozdział 19. Serwer WWW Oracle...................................................o.........................575 Środowisko serwera WWW Oracle ...................................................j.....................................575 Agent PL/SQL ...................................................j...................................................j............577 Określanie wartości parametrów w procedurach...................................................j...........578 Narzędzia WWW w PL/SQL...................................................j...............................................580 Pakiety HTP i HTF ...................................................j...................................................j.....580 Pakiet OWA_UTIL...................................................j...................................................j.....594 Pakiet OWA_IMAGE...................................................j...................................................j.601 Pakiet OWA_COOKIE...................................................j..................................................604 Tworzenie procedur OWA...................................................j...................................................j607 Procedura OWA_UTIL.SHOWPAGE ...................................................j..........................607 SQL-Station ...................................................j...................................................j................608 Podsumowanie ...................................................j...................................................j..................608 Rozdział 20. Procedury zewnętrzne ...................................................o.......................609 Czym jest procedura zewnętrzna?...................................................j........................................609 Wywoływanie procedury zewnętrznej ...................................................j..........................610 Odwzorowywanie parametrów...................................................j......................................617 Funkcje i procedury zewnętrzne w pakietach...................................................j................624 Połączenie zwrotne z bazą danych...................................................j.......................................626 Podprogramy usługowe ...................................................j.................................................626 Wykonywanie instrukcji SQL w procedurze zewnętrznej ...............................................629 Wskazówki, wytyczne i ograniczenia...................................................j..................................630 Wykrywanie błędów w procedurach zewnętrznych ...................................................j......630 Wytyczne ...................................................j...................................................j....................632 Ograniczenia ...................................................j...................................................j...............633 Podsumowanie ...................................................j...................................................j..................634 14 Oracle8. Programowanie w języku PL/SQL Rozdział 21. Duże obiekty ...................................................o....................................635 Czym są duże obiekty? ...................................................j...................................................j.....635 Składowanie dużych obiektów ...................................................j......................................636 Duże obiekty w instrukcjach DML...................................................j................................637 Obiekty typu BFILE......................................j...................................................j.......................639 Katalogi...................................................j...................................................j.......................639 Otwieranie i zamykanie plików BFILE...................................................j.........................641 Pliki BFILE w instrukcjach DML ...................................................j.................................641 Pakiet DBMS_LOB ...................................................j...................................................j..........643 Podprogramy pakietu DBMS_LOB ...................................................j..............................643 Wyjątki zgłaszane przez podprogramy z pakietu DBMS_LOB.......................................658 Porównanie interfejsów DBMS_LOB i OCI...................................................j.................658 PL/SQL w działaniu: Kopiowanie danych typu LONG do postaci LOB ...............................659 Podsumowanie ...................................................j...................................................j..................661 Rozdział 22. Wydajność i strojenie ...................................................o.......................663 Obszar wspólny...................................................j...................................................j.................663 Struktura instancji bazy Oracle...................................................j......................................663 Jak funkcjonuje obszar wspólny? ...................................................j..................................667 Rozmiar obszaru wspólnego...................................................j..........................................669 Unieruchamianie obiektów...................................................j............................................670 Strojenie instrukcji SQL...........................j...................................................j............................672 Generowanie planu wykonania...................................................j......................................672 Wykorzystywanie planu ...................................................j................................................678 Sieć...................................................j...................................................j....................................679 Wykorzystywanie środowiska PL/SQL po stronie klienta...............................................679 Unikanie powtórnej analizy składni ...................................................j..............................679 Przetwarzanie tablicowe ...................................................j................................................680 Podsumowanie ...................................................j...................................................j..................680 Dodatek A Słowa zastrzeżone w PL/SQL ...................................................o............681 Dodatek B Pakiety dostępne w PL/SQL ...................................................o.............683 Tworzenie pakietów...................................................j..............................................
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Oracle8. Programowanie w języku PL/SQL
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: