Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00606 008430 10739860 na godz. na dobę w sumie
Oracle Database 11g i SQL. Programowanie - książka
Oracle Database 11g i SQL. Programowanie - książka
Autor: Liczba stron: 672
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-246-1879-8 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> bazy danych >> oracle - programowanie
Porównaj ceny (książka, ebook (-20%), audiobook).

Opanuj SQL i PL/SQL w Oracle Database i pisz świetne programy!

Doskonała baza danych to jeden z podstawowych elementów sprawnego funkcjonowania współczesnych przedsiębiorstw, instytucji i organizacji. Jednak, aby efektywnie korzystać z jej dobrodziejstw, potrzebujesz specjalnego oprogramowania. Znakomitym systemem zarządzania bazą danych jest Oracle. Natomiast SQL -- strukturalny język zapytań -- zapewnia dostęp do systemu zarządzania bazą danych, a więc pobieranie, wstawianie i usuwanie z niej wszelkich informacji. PL/SQL (wywodzący się z SQL) umożliwia pisanie programów zawierających instrukcje SQL.

Książka 'Oracle Database 11g. Programowanie w języku SQL' zawiera wyczerpujące informacje, dotyczące pracy z bazą danych Oracle za pośrednictwem instrukcji SQL, a także opis najnowszych właściwości i narzędzi tego języka, technik optymalizacyjnych oraz obsługi Javy i XML. Z tego podręcznika dowiesz się między innymi, w jaki sposób Oracle przetwarza oraz przechowuje daty i czas. Nauczysz się wykorzystywać duże obiekty do obsługi plików multimedialnych zawierających obrazy, muzykę i filmy, a także pisać (w języku Java) programy uzyskujące dostęp do bazy danych Oracle za pośrednictwem JDBC.

Baza Oracle nie będzie miała przed Tobą tajemnic!

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

Darmowy fragment publikacji:

Oracle Database 11g i SQL. Programowanie Autor: Jason Price T³umaczenie: Marcin Rogó¿ ISBN: 978-83-246-1879-8 Tytu³ orygina³u: Oracle Database 11g SQL (Osborne Oracle Press) Format: B5, stron: 672 Opanuj SQL i PL/SQL w Oracle Database i pisz œwietne programy! • Jak tworzyæ obiekty baz danych i kolekcje? • Jak zoptymalizowaæ instrukcje SQL, aby by³y wykonywane szybciej? • Jak pisaæ programy w PL/SQL? Doskona³a baza danych to jeden z podstawowych elementów sprawnego funkcjonowania wspó³czesnych przedsiêbiorstw, instytucji i organizacji. Jednak, aby efektywnie korzystaæ z jej dobrodziejstw, potrzebujesz specjalnego oprogramowania. Znakomitym systemem zarz¹dzania baz¹ danych jest Oracle. Natomiast SQL — strukturalny jêzyk zapytañ — zapewnia dostêp do systemu zarz¹dzania baz¹ danych, a wiêc pobieranie, wstawianie i usuwanie z niej wszelkich informacji. PL/SQL (wywodz¹cy siê z SQL) umo¿liwia pisanie programów zawieraj¹cych instrukcje SQL. Ksi¹¿ka „Oracle Database 11g. Programowanie w jêzyku SQL” zawiera wyczerpuj¹ce informacje, dotycz¹ce pracy z baz¹ danych Oracle za poœrednictwem instrukcji SQL, a tak¿e opis najnowszych w³aœciwoœci i narzêdzi tego jêzyka, technik optymalizacyjnych oraz obs³ugi Javy i XML. Z tego podrêcznika dowiesz siê miêdzy innymi, w jaki sposób Oracle przetwarza oraz przechowuje daty i czas. Nauczysz siê wykorzystywaæ du¿e obiekty do obs³ugi plików multimedialnych zawieraj¹cych obrazy, muzykê i filmy, a tak¿e pisaæ (w jêzyku Java) programy uzyskuj¹ce dostêp do bazy danych Oracle za poœrednictwem JDBC. • Pobieranie informacji z tabel bazy danych • SQL*Plus • Funkcje • Sk³adowanie oraz przetwarzanie dat i czasu • Zapytania zaawansowane • U¿ytkownicy, uprawnienia i role • Obiekty baz danych • Kolekcje • Praca z SQL w Javie • Zamkniêcie obiektu ResultSet • Optymalizacja SQL • XML i bazy danych Oracle Baza Oracle nie bêdzie mia³a przed Tob¹ tajemnic! Spis treści 5 Spis treści O autorze ................................................................................................. 17 O redaktorze merytorycznym ..................................................................... 19 Wprowadzenie .......................................................................................... 21 Rozdział 1. Wprowadzenie .......................................................................................... 27 Czym jest relacyjna baza danych? ...............................................................................................27 Wstęp do SQL .............................................................................................................................28 Używanie SQL*Plus ...................................................................................................................30 Uruchamianie SQL*Plus .......................................................................................................30 Uruchamianie SQL*Plus z wiersza poleceń ..........................................................................31 Wykonywanie instrukcji SELECT za pomocą SQL*Plus .....................................................32 SQL Developer ............................................................................................................................33 Tworzenie schematu bazy danych sklepu ....................................................................................34 Uruchamianie skryptu programu SQL*Plus w celu utworzenia schematu bazy danych sklepu ...............................................................35 Instrukcje DDL używane do tworzenia schematu bazy danych sklepu .................................36 Dodawanie, modyfikowanie i usuwanie wierszy .........................................................................44 Dodawanie wiersza do tabeli .................................................................................................44 Modyfikowanie istniejącego wiersza w tabeli .......................................................................46 Usuwanie wiersza z tabeli .....................................................................................................47 Typy BINARY_FLOAT i BINARY_DOUBLE .........................................................................47 Zalety typów BINARY_FLOAT i BINARY_DOUBLE .......................................................47 Użycie typów BINARY_FLOAT i BINARY_DOUBLE w tabeli ........................................48 Wartości specjalne .................................................................................................................49 Kończenie pracy SQL*Plus .........................................................................................................49 Wprowadzenie do Oracle PL/SQL ..............................................................................................50 Podsumowanie .............................................................................................................................51 Rozdział 2. Pobieranie informacji z tabel bazy danych ................................................. 53 Wykonywanie instrukcji SELECT dla jednej tabeli ....................................................................53 Pobieranie wszystkich kolumn z tabeli ........................................................................................54 Wykorzystanie klauzuli WHERE do wskazywania wierszy do pobrania ....................................55 Identyfikatory wierszy .................................................................................................................55 Numery wierszy ...........................................................................................................................56 Wykonywanie działań arytmetycznych .......................................................................................56 Wykonywanie obliczeń na datach .........................................................................................57 Korzystanie z kolumn w obliczeniach ...................................................................................58 6 Oracle Database 11g i SQL. Programowanie Używanie aliasów kolumn ...........................................................................................................59 Łączenie wartości z kolumn za pomocą konkatenacji .................................................................60 Wartości null ...............................................................................................................................61 Wyświetlanie odrębnych wierszy ................................................................................................62 Porównywanie wartości ...............................................................................................................63 Korzystanie z operatorów SQL ...................................................................................................65 Operator LIKE ......................................................................................................................65 Operator IN ...........................................................................................................................67 Operator BETWEEN .............................................................................................................67 Operatory logiczne ......................................................................................................................68 Następstwo operatorów ...............................................................................................................69 Sortowanie wierszy za pomocą klauzuli ORDER BY .................................................................70 Instrukcje SELECT wykorzystujące dwie tabele .........................................................................71 Używanie aliasów tabel ...............................................................................................................73 Iloczyny kartezjańskie .................................................................................................................74 Instrukcje SELECT wykorzystujące więcej niż dwie tabele ........................................................74 Warunki złączenia i typy złączeń ................................................................................................76 Nierównozłączenia ................................................................................................................76 Złączenia rozszerzone ...........................................................................................................77 Złączenia własne ...................................................................................................................81 Wykonywanie złączeń za pomocą składni SQL/92 .....................................................................82 Wykonywanie złączeń wewnętrznych dwóch tabel z wykorzystaniem składni SQL/92 .......82 Upraszczanie złączeń za pomocą słowa kluczowego USING ...............................................83 Wykonywanie złączeń wewnętrznych obejmujących więcej niż dwie tabele (SQL/92) .......84 Wykonywanie złączeń wewnętrznych z użyciem wielu kolumn (SQL/92) ...........................84 Wykonywanie złączeń rozszerzonych z użyciem składni SQL/92 ........................................85 Wykonywanie złączeń własnych z użyciem składni SQL/92 ................................................86 Wykonywanie złączeń krzyżowych z użyciem składni SQL/92 ...........................................87 Podsumowanie .............................................................................................................................87 Rozdział 3. SQL*Plus ................................................................................................. 89 Przeglądanie struktury tabeli .......................................................................................................89 Edycja instrukcji SQL .................................................................................................................90 Zapisywanie, odczytywanie i uruchamianie plików ....................................................................92 Formatowanie kolumn .................................................................................................................95 Ustawianie rozmiaru strony .........................................................................................................97 Ustawianie rozmiaru wiersza .......................................................................................................97 Czyszczenie formatowania kolumny ...........................................................................................98 Używanie zmiennych ..................................................................................................................98 Zmienne tymczasowe ............................................................................................................99 Zmienne zdefiniowane ........................................................................................................101 Tworzenie prostych raportów ....................................................................................................104 Używanie zmiennych tymczasowych w skrypcie ................................................................104 Używanie zmiennych zdefiniowanych w skrypcie ..............................................................105 Przesyłanie wartości do zmiennej w skrypcie .....................................................................105 Dodawanie nagłówka i stopki .............................................................................................106 Obliczanie sum pośrednich ..................................................................................................108 Uzyskiwanie pomocy od SQL*Plus ..........................................................................................109 Automatyczne generowanie instrukcji SQL ..............................................................................110 Kończenie połączenia z bazą danych i pracy SQL*Plus ............................................................111 Podsumowanie ...........................................................................................................................111 Spis treści 7 Rozdział 4. Proste funkcje ....................................................................................... 113 Funkcje jednowierszowe ...........................................................................................................113 Funkcje znakowe .................................................................................................................114 Funkcje numeryczne ...........................................................................................................121 Funkcje konwertujące ..........................................................................................................125 Funkcje wyrażeń regularnych ..............................................................................................131 Funkcje agregujące ....................................................................................................................138 AVG() .................................................................................................................................138 COUNT() ............................................................................................................................139 MAX() i MIN() ...................................................................................................................140 STDDEV() ..........................................................................................................................140 SUM() .................................................................................................................................141 VARIANCE() .....................................................................................................................141 Grupowanie wierszy ..................................................................................................................141 Grupowanie wierszy za pomocą klauzuli GROUP BY .......................................................142 Nieprawidłowe użycie funkcji agregujących .......................................................................145 Filtrowanie grup wierszy za pomocą klauzuli HAVING .....................................................146 Jednoczesne używanie klauzul WHERE i GROUP BY ......................................................147 Jednoczesne używanie klauzul WHERE, GROUP BY i HAVING .....................................147 Podsumowanie ...........................................................................................................................148 Rozdział 5. Składowanie oraz przetwarzanie dat i czasu ............................................ 149 Proste przykłady składowania i pobierania dat ..........................................................................149 Konwertowanie typów DataGodzina za pomocą funkcji TO_CHAR() i TO_DATE() .............151 Konwersja daty i czasu na napis za pomocą funkcji TO_CHAR() ......................................151 Konwersja napisu na wyrażenie DataGodzina za pomocą funkcji TO_DATE() .................155 Ustawianie domyślnego formatu daty .......................................................................................158 Jak Oracle interpretuje lata dwucyfrowe? ..................................................................................159 Użycie formatu YY .............................................................................................................159 Użycie formatu RR ..............................................................................................................160 Funkcje operujące na datach i godzinach ..................................................................................161 ADD_MONTHS() ...............................................................................................................161 LAST_DAY() .....................................................................................................................163 MONTHS_BETWEEN() ....................................................................................................163 NEXT_DAY() .....................................................................................................................163 ROUND() ............................................................................................................................164 SYSDATE ...........................................................................................................................164 TRUNC() ............................................................................................................................165 Strefy czasowe ...........................................................................................................................165 Funkcje operujące na strefach czasowych ...........................................................................166 Strefa czasowa bazy danych i strefa czasowa sesji ..............................................................167 Uzyskiwanie przesunięć strefy czasowej .............................................................................168 Uzyskiwanie nazw stref czasowych ....................................................................................168 Konwertowanie wyrażenia DataGodzina z jednej strefy czasowej na inną .........................169 Datowniki (znaczniki czasu) ......................................................................................................169 Typy datowników ................................................................................................................169 Funkcje operujące na znacznikach czasu ............................................................................173 Interwały czasowe .....................................................................................................................178 Typ INTERVAL YEAR TO MONTH ................................................................................179 Typ INTERVAL DAY TO SECOND .................................................................................181 Funkcje operujące na interwałach .......................................................................................183 Podsumowanie ...........................................................................................................................184 8 Oracle Database 11g i SQL. Programowanie Rozdział 6. Podzapytania ......................................................................................... 187 Rodzaje podzapytań ...................................................................................................................187 Pisanie podzapytań jednowierszowych ......................................................................................188 Podzapytania w klauzuli WHERE .......................................................................................188 Użycie innych operatorów jednowierszowych ....................................................................189 Podzapytania w klauzuli HAVING .....................................................................................189 Podzapytania w klauzuli FROM (widoki wbudowane) .......................................................191 Błędy, które można napotkać ..............................................................................................191 Pisanie podzapytań wielowierszowych ......................................................................................192 Użycie operatora IN z podzapytaniem wielowierszowym ..................................................193 Użycie operatora ANY z podzapytaniem wielowierszowym ..............................................194 Użycie operatora ALL z podzapytaniem wielowierszowym ...............................................194 Pisanie podzapytań wielokolumnowych ....................................................................................195 Pisanie podzapytań skorelowanych ...........................................................................................195 Przykład podzapytania skorelowanego ................................................................................195 Użycie operatorów EXISTS i NOT EXISTS z podzapytaniem skorelowanym ..................196 Pisanie zagnieżdżonych podzapytań ..........................................................................................199 Pisanie instrukcji UPDATE i DELETE zawierających podzapytania .......................................200 Pisanie instrukcji UPDATE zawierającej podzapytanie ......................................................200 Pisanie instrukcji DELETE zawierającej podzapytanie .......................................................201 Podsumowanie ...........................................................................................................................201 Rozdział 7. Zapytania zaawansowane ....................................................................... 203 Operatory zestawu .....................................................................................................................203 Przykładowe tabele .............................................................................................................204 Operator UNION ALL ........................................................................................................205 Operator UNION .................................................................................................................206 Operator INTERSECT ........................................................................................................207 Operator MINUS .................................................................................................................207 Łączenie operatorów zestawu ..............................................................................................207 Użycie funkcji TRANSLATE() .................................................................................................209 Użycie funkcji DECODE() ........................................................................................................210 Użycie wyrażenia CASE ...........................................................................................................212 Proste wyrażenia CASE ......................................................................................................212 Przeszukiwane wyrażenia CASE .........................................................................................213 Zapytania hierarchiczne .............................................................................................................215 Przykładowe dane ...............................................................................................................215 Zastosowanie klauzul CONNECT BY i START WITH .....................................................216 Użycie pseudokolumny LEVEL ..........................................................................................217 Formatowanie wyników zapytania hierarchicznego ............................................................218 Rozpoczynanie od węzła innego niż główny .......................................................................219 Użycie podzapytania w klauzuli START WITH .................................................................219 Poruszanie się po drzewie w górę ........................................................................................220 Eliminowanie węzłów i gałęzi z zapytania hierarchicznego ................................................220 Umieszczanie innych warunków w zapytaniu hierarchicznym ...........................................221 Rozszerzone klauzule GROUP BY ...........................................................................................222 Przykładowe tabele .............................................................................................................222 Użycie klauzuli ROLLUP ..........................................................................................................224 Klauzula CUBE ...................................................................................................................226 Funkcja GROUPING() ........................................................................................................227 Klauzula GROUPING SETS ...............................................................................................230 Użycie funkcji GROUPING_ID() .......................................................................................231 Kilkukrotne użycie kolumny w klauzuli GROUP BY .........................................................233 Użycie funkcji GROUP_ID() ..............................................................................................233 Spis treści 9 Funkcje analityczne ...................................................................................................................235 Przykładowa tabela .............................................................................................................235 Użycie funkcji klasyfikujących ...........................................................................................236 Użycie odwrotnych funkcji rankingowych ..........................................................................243 Użycie funkcji okna ............................................................................................................243 Funkcje raportujące .............................................................................................................249 Użycie funkcji LAG() i LEAD() .........................................................................................251 Użycie funkcji FIRST i LAST ............................................................................................252 Użycie funkcji regresji liniowej ..........................................................................................252 Użycie funkcji hipotetycznego rankingu i rozkładu ............................................................253 Użycie klauzuli MODEL ...........................................................................................................254 Przykład zastosowania klauzuli MODEL ............................................................................255 Dostęp do komórek za pomocą zapisu pozycyjnego i symbolicznego ................................256 Uzyskiwanie dostępu do zakresu komórek za pomocą BETWEEN i AND ........................257 Sięganie do wszystkich komórek za pomocą ANY i IS ANY .............................................257 Pobieranie bieżącej wartości wymiaru za pomocą funkcji CURRENTV() .........................258 Uzyskiwanie dostępu do komórek za pomocą pętli FOR ....................................................259 Obsługa wartości NULL i brakujących ...............................................................................260 Modyfikowanie istniejących komórek ................................................................................262 Użycie klauzul PIVOT i UNPIVOT ..........................................................................................263 Prosty przykład klauzuli PIVOT .........................................................................................263 Przestawianie w oparciu o wiele kolumn ............................................................................265 Użycie kilku funkcji agregujących w przestawieniu ...........................................................266 Użycie klauzuli UNPIVOT .................................................................................................267 Podsumowanie ...........................................................................................................................268 Rozdział 8. Zmienianie zawartości tabeli .................................................................. 269 Wstawianie wierszy za pomocą instrukcji INSERT ..................................................................269 Pomijanie listy kolumn ........................................................................................................270 Określanie wartości NULL dla kolumny .............................................................................271 Umieszczanie pojedynczych i podwójnych cudzysłowów w wartościach kolumn .............271 Kopiowanie wierszy z jednej tabeli do innej .......................................................................271 Modyfikowanie wierszy za pomocą instrukcji UPDATE ..........................................................272 Klauzula RETURNING .............................................................................................................273 Usuwanie wierszy za pomocą instrukcji DELETE ....................................................................274 Integralność bazy danych ..........................................................................................................274 Wymuszanie więzów klucza głównego ...............................................................................274 Wymuszanie więzów kluczy obcych ...................................................................................275 Użycie wartości domyślnych .....................................................................................................276 Scalanie wierszy za pomocą instrukcji MERGE .......................................................................277 Transakcje bazodanowe .............................................................................................................279 Zatwierdzanie i wycofywanie transakcji .............................................................................280 Rozpoczynanie i kończenie transakcji .................................................................................281 Punkty zachowania ..............................................................................................................281 ACID — właściwości transakcji .........................................................................................283 Transakcje współbieżne ......................................................................................................283 Blokowanie transakcji .........................................................................................................284 Poziomy izolacji transakcji ..................................................................................................285 Przykład transakcji SERIALIZABLE .................................................................................286 Zapytania retrospektywne ..........................................................................................................287 Przyznawanie uprawnień do używania zapytań retrospektywnych .....................................288 Zapytania retrospektywne w oparciu o czas ........................................................................288 Zapytania retrospektywne z użyciem SCN ..........................................................................290 Podsumowanie ...........................................................................................................................291 10 Oracle Database 11g i SQL. Programowanie Rozdział 9. Użytkownicy, uprawnienia i role .............................................................. 293 Użytkownicy .............................................................................................................................293 Tworzenie konta użytkownika ............................................................................................294 Zmienianie hasła użytkownika ............................................................................................295 Usuwanie konta użytkownika ..............................................................................................295 Uprawnienia systemowe ............................................................................................................296 Przyznawanie uprawnień systemowych użytkownikowi .....................................................296 Sprawdzanie uprawnień systemowych przyznanych użytkownikowi .................................297 Zastosowanie uprawnień systemowych ...............................................................................298 Odbieranie uprawnień systemowych ...................................................................................298 Uprawnienia obiektowe .............................................................................................................299 Przyznawanie użytkownikowi uprawnień obiektowych ......................................................299 Sprawdzanie przekazanych uprawnień ................................................................................300 Sprawdzanie otrzymanych uprawnień obiektowych ...........................................................301 Zastosowanie uprawnień obiektowych ................................................................................303 Synonimy ............................................................................................................................303 Synonimy publiczne ............................................................................................................304 Odbieranie uprawnień obiektowych ....................................................................................305 Role ...........................................................................................................................................305 Tworzenie ról ......................................................................................................................306 Przyznawanie uprawnień roli ..............................................................................................306 Przyznawanie roli użytkownikowi ......................................................................................307 Sprawdzanie ról przyznanych użytkownikowi ....................................................................307 Sprawdzanie uprawnień systemowych przyznanych roli ....................................................308 Sprawdzanie uprawnień obiektowych przyznanych roli .....................................................308 Zastosowanie uprawnień przyznanych roli ..........................................................................310 Role domyślne .....................................................................................................................310 Odbieranie roli ....................................................................................................................311 Odbieranie uprawnień roli ...................................................................................................311 Usuwanie roli ......................................................................................................................311 Obserwacja ................................................................................................................................311 Uprawnienia wymagane do przeprowadzania obserwacji ...................................................312 Przykłady obserwacji ..........................................................................................................312 Perspektywy zapisu obserwacji ...........................................................................................314 Podsumowanie ...........................................................................................................................314 Rozdział 10. Tworzenie tabel, sekwencji, indeksów i perspektyw ................................ 315 Tabele ........................................................................................................................................315 Tworzenie tabeli ..................................................................................................................315 Pobieranie informacji o tabelach .........................................................................................317 Uzyskiwanie informacji o kolumnach w tabeli ...................................................................318 Zmienianie tabeli .................................................................................................................319 Zmienianie nazwy tabeli .....................................................................................................328 Dodawanie komentarza do tabeli ........................................................................................328 Obcinanie tabeli ..................................................................................................................329 Usuwanie tabeli ...................................................................................................................329 Sekwencje ..................................................................................................................................329 Tworzenie sekwencji ...........................................................................................................329 Pobieranie informacji o sekwencjach ..................................................................................331 Używanie sekwencji ............................................................................................................332 Wypełnianie klucza głównego z użyciem sekwencji ...........................................................334 Modyfikowanie sekwencji ..................................................................................................334 Usuwanie sekwencji ............................................................................................................335 Spis treści 11 Indeksy ......................................................................................................................................335 Tworzenie indeksu typu B-drzewo ......................................................................................336 Tworzenie indeksów opartych na funkcjach .......................................................................337 Pobieranie informacji o indeksach ......................................................................................338 Pobieranie informacji o indeksach kolumny .......................................................................338 Modyfikowanie indeksu ......................................................................................................339 Usuwanie indeksu ...............................................................................................................339 Tworzenie indeksu bitmapowego ........................................................................................339 Perspektywy ..............................................................................................................................340 Tworzenie i używanie perspektyw ......................................................................................341 Modyfikowanie perspektywy ..............................................................................................348 Usuwanie perspektywy ........................................................................................................349 Archiwa migawek ......................................................................................................................349 Podsumowanie ...........................................................................................................................352 Rozdział 11. Wprowadzenie do programowania w PL/SQL ........................................... 353 Bloki ..........................................................................................................................................354 Zmienne i typy ...........................................................................................................................355 Logika warunkowa ....................................................................................................................356 Pętle ...........................................................................................................................................356 Proste pętle ..........................................................................................................................357 Pętle WHILE .......................................................................................................................358 Pętle FOR ............................................................................................................................358 Kursory ......................................................................................................................................359 Krok 1. — deklarowanie zmiennych przechowujących wartości kolumn ...........................359 Krok 2. — deklaracja kursora .............................................................................................360 Krok 3. — otwarcie kursora ................................................................................................360 Krok 4. — pobieranie wierszy z kursora .............................................................................360 Krok 5. — zamknięcie kursora ............................................................................................361 Pełny przykład — product_cursor.sql .................................................................................361 Kursory i pętle FOR ............................................................................................................363 Instrukcja OPEN-FOR ........................................................................................................363 Kursory bez ograniczenia ....................................................................................................365 Wyjątki ......................................................................................................................................367 Wyjątek ZERO_DIVIDE ....................................................................................................368 Wyjątek DUP_VAL_ON_INDEX ......................................................................................369 Wyjątek INVALID_NUMBER ...........................................................................................370 Wyjątek OTHERS ...............................................................................................................370 Procedury ..................................................................................................................................371 Tworzenie procedury ...........................................................................................................371 Wywoływanie procedury ....................................................................................................373 Uzyskiwanie informacji o procedurach ...............................................................................374 Usuwanie procedury ............................................................................................................375 Przeglądanie błędów w procedurze .....................................................................................375 Funkcje ......................................................................................................................................376 Tworzenie funkcji ...............................................................................................................376 Wywoływanie funkcji .........................................................................................................377 Uzyskiwanie informacji o funkcjach ...................................................................................378 Usuwanie funkcji .................................................................................................................378 Pakiety .......................................................................................................................................378 Tworzenie specyfikacji pakietu ...........................................................................................379 Tworzenie treści pakietu .....................................................................................................379 Wywoływanie funkcji i procedur z pakietu .........................................................................381 Uzyskiwanie informacji o funkcjach i procedurach w pakiecie ..........................................381 Usuwanie pakietu ................................................................................................................382 12 Oracle Database 11g i SQL. Programowanie Wyzwalacze ...............................................................................................................................382 Kiedy uruchamiany jest wyzwalacz ....................................................................................382 Przygotowania do przykładu wyzwalacza ...........................................................................382 Tworzenie wyzwalacza .......................................................................................................383 Uruchamianie wyzwalacza ..................................................................................................385 Uzyskiwanie informacji o wyzwalaczach ...........................................................................386 Włączanie i wyłączanie wyzwalacza ...................................................................................387 Usuwanie wyzwalacza ........................................................................................................387 Rozszerzenia PL/SQL wprowadzone w Oracle Database 11g ...................................................388 Typ SIMPLE_INTEGER ....................................................................................................388 Sekwencje w PL/SQL .........................................................................................................389 Generowanie natywnego kodu maszynowego z PL/SQL ....................................................390 Podsumowanie ...........................................................................................................................390 Rozdział 12. Obiekty bazy danych .............................................................................. 393 Wprowadzenie do obiektów ......................................................................................................393 Tworzenie typów obiektowych ..................................................................................................394 Uzyskiwanie informacji o typach obiektowych za pomocą DESCRIBE ...................................395 Użycie typów obiektowych w tabelach bazy danych .................................................................397 Obiekty kolumnowe ............................................................................................................397 Tabele obiektowe ................................................................................................................399 Identyfikatory obiektów i odwołania obiektowe .................................................................403 Porównywanie wartości obiektów .......................................................................................405 Użycie obiektów w PL/SQL ......................................................................................................407 Funkcja get_products() ........................................................................................................408 Procedura display_product() ...............................................................................................409 Procedura insert_product() ..................................................................................................410 Procedura update_product_price() ......................................................................................410 Funkcja get_product() .........................................................................................................411 Procedura update_product() ................................................................................................412 Funkcja get_product_ref() ...................................................................................................412 Procedura delete_product() .................................................................................................413 Procedura product_lifecycle() .............................................................................................413 Procedura product_lifecycle2() ...........................................................................................414 Dziedziczenie typów ..................................................................................................................416 Użycie podtypu zamiast typu nadrzędnego ...............................................................................418 Przykłady SQL ....................................................................................................................418 Przykłady PL/SQL ..............................................................................................................419 Obiekty NOT SUBSTITUTABLE ......................................................................................420 Inne przydatne funkcje obiektów ...............................................................................................421 Funkcja IS OF() ...................................................................................................................421 Funkcja TREAT() ...............................................................................................................424 Funkcja SYS_TYPEID() .....................................................................................................427 Typy obiektowe NOT INSTANTIABLE ..................................................................................428 Konstruktory definiowane przez użytkownika ..........................................................................430 Przesłanianie metod ...................................................................................................................433 Uogólnione wywoływanie .........................................................................................................435 Podsumowanie ...........................................................................................................................437 Rozdział 13. Kolekcje ................................................................................................ 439 Podstawowe informacje o kolekcjach ........................................................................................439 Tworzenie kolekcji ....................................................................................................................440 Tworzenie typu VARRAY ..................................................................................................440 Tworzenie tabeli zagnieżdżonej ..........................................................................................441 Spis treści 13 Użycie kolekcji do definiowania kolumny w tabeli ...................................................................441 Użycie typu VARRAY do zdefiniowania kolumny w tabeli ...............................................441 Użycie typu tabeli zagnieżdżonej do zdefiniowania kolumny w tabeli ...............................442 Uzyskiwanie informacji o kolekcjach ........................................................................................442 Uzyskiwanie informacji o tablicy VARRAY ......................................................................442 Uzyskiwanie informacji o tabeli zagnieżdżonej ..................................................................443 Umieszczanie elementów w kolekcji .........................................................................................445 Umieszczanie elementów w tablicy VARRAY ...................................................................445 Umieszczanie elementów w tabeli zagnieżdżonej ...............................................................446 Pobieranie elementów z kolekcji ...............................................................................................446 Pobieranie elementów z tablicy VARRAY .........................................................................446 Pobieranie elementów z tabeli zagnieżdżonej .....................................................................447 Użycie funkcji TABLE() do interpretacji kolekcji jako serii wierszy ........................................448 Użycie funkcji TABLE() z typem VARRAY ......................................................................448 Użycie funkcji TABLE() z tabelą zagnieżdżoną .................................................................449 Modyfikowanie elementów kolekcji .........................................................................................450 Modyfikowanie elementów tablicy VARRAY ....................................................................450 Modyfikowanie elementów tabeli zagnieżdżonej ................................................................450 Użycie metody mapującej do porównywania zawartości tabel zagnieżdżonych .......................451 Użycie funkcji CAST do konwersji kolekcji z jednego typu na inny ........................................454 Użycie funkcji CAST() do konwersji tablicy VARRAY na tabelę zagnieżdżoną ...............454 Użycie funkcji CAST() do konwersji tabeli zagnieżdżonej na tablicę VARRAY ...............455 Użycie kolekcji w PL/SQL ........................................................................................................455 Manipulowanie tablicą VARRAY .......................................................................................456 Manipulowanie tabelą zagnieżdżoną ...................................................................................457 Metody operujące na kolekcjach w PL/SQL .......................................................................459 Kolekcje wielopoziomowe ........................................................................................................469 Rozszerzenia kolekcji wprowadzone w Oracle Database 10g ...................................................472 Tablice asocjacyjne .............................................................................................................472 Zmienianie rozmiaru typu elementu ....................................................................................473 Zwiększanie liczby elementów w tablicy VARRAY ..........................................................474 Użycie tablic VARRAY w tabelach tymczasowych ...........................................................474 Użycie innej przestrzeni tabel dla tabeli składującej tabelę zagnieżdżoną ..........................474 Obsługa tabel zagnieżdżonych w ANSI ..............................................................................475 Podsumowanie ...........................................................................................................................483 Rozdział 14. Duże obiekty .......................................................................................... 485 Podstawowe informacje o dużych obiektach (LOB) .................................................................485 Przykładowe pliki ......................................................................................................................486 Rodzaje dużych obiektów ..........................................................................................................486 Tworzenie tabel zawierających duże obiekty ............................................................................487 Użycie dużych obiektów w SQL ...............................................................................................488 Użycie obiektów CLOB i BLOB .........................................................................................488 Użycie obiektów BFILE ......................................................................................................490 Użycie dużych obiektów w PL/SQL .........................................................................................492 APPEND() ...........................................................................................................................494 CLOSE() .............................................................................................................................495 COMPARE() .......................................................................................................................495 COPY() ...............................................................................................................................496 CREATETEMPORARY() ..................................................................................................497 ERASE() .............................................................................................................................498 FILECLOSE() .....................................................................................................................499 FILECLOSEALL() .............................................................................................................499 FILEEXISTS() ....................................................................................................................499 14 Oracle Database 11g i SQL. Programowanie FILEGETNAME() ..............................................................................................................500 FILEISOPEN() ....................................................................................................................500 FILEOPEN() .......................................................................................................................501 FREETEMPORARY() ........................................................................................................501 GETCHUNKSIZE() ............................................................................................................502 GET_STORAGE_LIMIT() .................................................................................................502 GETLENGTH() ..................................................................................................................502 INSTR() ..............................................................................................................................503 ISOPEN() ............................................................................................................................504 ISTEMPORARY() ..............................................................................................................505 LOADFROMFILE() ...........................................................................................................505 LOADBLOBFROMFILE() .................................................................................................506 LOADCLOBFROMFILE() .................................................................................................507 OPEN() ................................................................................................................................508 READ() ...............................................................................................................................509 SUBSTR() ...........................................................................................................................510 TRIM() ................................................................................................................................511 WRITE() .............................................................................................................................512 WRITEAPPEND() ..............................................................................................................512 Przykładowe procedury PL/SQL .........................................................................................513 Typy LONG i LONG RAW ......................................................................................................529 Przykładowe tabele .............................................................................................................530 Wstawianie danych do kolumn typu LONG i LONG RAW ...............................................530 Przekształcanie kolumn LONG i LONG RAW w duże obiekty ..........................................531 Nowe właściwości dużych obiektów w Oracle Database 10g ...................................................531 Niejawna konwersja między obiektami CLOB i NCLOB ...................................................532 Użycie atrybutu :new, gdy obiekt LOB jest używany w wyzwalaczu .................................533 Nowe właściwości dużych obiektów w Oracle Database 11g ...................................................533 Szyfrowanie danych LOB ...................................................................................................534 Kompresja danych LOB ......................................................................................................537 Usuwanie powtarzających się danych LOB ........................................................................538 Podsumowanie ...........................................................................................................................538 Rozdział 15. Praca z SQL w Javie ............................................................................... 541 Zaczynamy ................................................................................................................................541 Konfigurowanie komputera .......................................................................................................542 Ustawianie zmiennej środowiska ORACLE_HOME ..........................................................542 Ustawianie zmiennej środowiska JAVA_HOME ................................................................543 Ustawianie zmiennej środowiska PATH .............................................................................543 Ustawianie zmiennej środowiska CLASSPATH .................................................................544 Ustawianie zmiennej środowiska LD_LIBRARY_PATH ..................................................544 Sterowniki Oracle JDBC ...........................................................................................................545 Sterownik Thin ....................................................................................................................545 Sterownik OCI ....................................................................................................................545 Sterownik wewnętrzny po stronie serwera ..........................................................................546 Sterownik Thin po stronie serwera ......................................................................................546 Importowanie pakietów JDBC ..................................................................................................546 Rejestrowanie sterowników Oracle JDBC .................................................................................547 Otwieranie połączenia z bazą danych ........................................................................................547 Połączenie z bazą danych za pomocą getConnection() .......................................................547 URL bazy danych ................................................................................................................548 Połączenie z bazą danych za pomocą źródła danych Oracle ...............................................549 Tworzenie obiektu JDBC Statement ...........................................................
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Oracle Database 11g i SQL. Programowanie
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ą: