Oracle8_Programowanie_w_jezyku_PL_SQL_or8pls.pdf
(
436 KB
)
Pobierz
IDZ DO
PRZYK£ADOW
Y ROZDZIA£
Oracle8.
SPIS TRECI
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
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
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¿liwoci 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 wydajnoci
Ksi¹¿ka jest przeznaczona zarówno dla dowiadczonych 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.).
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treci
Wstp...................................................................................................17
Rozdział 1. Wprowadzenie do PL/SQL......................................................................23
Dlaczego jzyk PL/SQL?..........................................................................................................23
Model klient-serwer............................................................................................................25
Normy.................................................................................................................................26
Wła&ciwo&ci jzyka PL/SQL ....................................................................................................26
Struktura bloku ...................................................................................................................26
Zmienne i typy danych .......................................................................................................27
Konstrukcje ptlowe...........................................................................................................28
Konwencje stosowane w niniejszej ksi/0ce..............................................................................30
Wersje jzyka PL/SQL oraz bazy danych Oracle...............................................................30
Dokumentacja Oracle .........................................................................................................31
Kod dostpny na płycie CD................................................................................................32
Przykładowe tabele ...................................................................................................................32
Podsumowanie..........................................................................................................................38
Rozdział 2. Podstawy jzyka PL/SQL.......................................................................39
Blok PL/SQL.............................................................................................................................39
Podstawowa struktura bloku...............................................................................................42
Jednostki leksykalne .................................................................................................................44
Identyfikatory .....................................................................................................................44
Ograniczniki .......................................................................................................................46
Literały................................................................................................................................48
Komentarze.........................................................................................................................49
Deklaracje zmiennych...............................................................................................................51
Składnia deklaracji..............................................................................................................51
Inicjowanie zmiennych.......................................................................................................52
Typy danych w jzyku PL/SQL................................................................................................53
Typy skalarne......................................................................................................................53
Typy zło0one ......................................................................................................................60
Typy odwołania ..................................................................................................................60
Typy LOB...........................................................................................................................60
Wykorzystanie atrybutu %Type .........................................................................................61
Podtypy definiowane przez u0ytkownika...........................................................................62
Konwersja pomidzy typami danych..................................................................................62
Zakres i widoczno&= zmiennej............................................................................................64
Wyra0enia i operatory...............................................................................................................65
Przypisanie..........................................................................................................................66
Wyra0enia...........................................................................................................................67
6
Oracle8. Programowanie w jzyku PL/SQL
Struktury sterowania PL/SQL...................................................................................................69
Instrukcja IF-THEN-ELSE.................................................................................................70
Ptle ....................................................................................................................................73
Instrukcje GOTO oraz etykiety ..........................................................................................77
Dyrektywy pragma .............................................................................................................80
Styl programowania w jzyku PL/SQL ....................................................................................80
Wprowadzanie komentarzy ................................................................................................81
Nazywanie zmiennych........................................................................................................82
Stosowanie du0ych liter......................................................................................................82
Odstpy w kodzie programu...............................................................................................82
Ogólne uwagi dotycz/ce stylu programowania..................................................................83
Podsumowanie..........................................................................................................................83
Rozdział 3. Rekordy i tabele....................................................................................85
Rekordy w jzyku PL/SQL.......................................................................................................85
Przypisanie rekordu ............................................................................................................86
Stosowanie operatora %ROWTYPE..................................................................................88
Tabele........................................................................................................................................88
Tabele a tablice...................................................................................................................89
Atrybuty tabeli....................................................................................................................91
Wytyczne stosowania tabel PL/SQL ..................................................................................94
Podsumowanie..........................................................................................................................95
Rozdział 4. SQL w PL/SQL.......................................................................................97
Instrukcje SQL..........................................................................................................................97
Wykorzystanie instrukcji SQL w jzyku PL/SQL..............................................................98
Stosowanie instrukcji DML w jzyku PL/SQL ........................................................................99
Instrukcja SELECT...........................................................................................................101
Instrukcja INSERT ...........................................................................................................102
Instrukcja UPDATE..........................................................................................................104
Instrukcja DELETE ..........................................................................................................104
Klauzula WHERE.............................................................................................................105
Odwołania do tabel...........................................................................................................108
Powi/zania bazy danych...................................................................................................109
Synonimy..........................................................................................................................110
Pseudokolumny.......................................................................................................................110
Pseudokolumny CURRVAL oraz NEXTVAL.................................................................110
Pseudokolumna LEVEL...................................................................................................111
Pseudokolumna ROWID ..................................................................................................111
Pseudokolumna ROWNUM.............................................................................................112
Instrukcje GRANT i REVOKE. Uprawnienia........................................................................112
Uprawnienia obiektowe a uprawnienia systemowe..........................................................113
Instrukcje GRANT oraz REVOKE ..................................................................................113
Role...................................................................................................................................115
Sterowanie transakcjami .........................................................................................................116
Instrukcja COMMIT a instrukcja ROLLBACK...............................................................116
Punkty zachowania...........................................................................................................118
Transakcje a bloki.............................................................................................................119
Podsumowanie........................................................................................................................120
Rozdział 5. Wbudowane funkcje SQL......................................................................121
Wstp ......................................................................................................................................121
Funkcje znakowe zwracaj/ce warto&ci znakowe....................................................................122
CHR..................................................................................................................................122
CONCAT..........................................................................................................................122
Spis treci
7
INITCAP...........................................................................................................................123
LOWER............................................................................................................................123
LPAD................................................................................................................................124
LTRIM..............................................................................................................................125
NLS_INITCAP.................................................................................................................125
NLS_LOWER...................................................................................................................126
NLS_UPPER ....................................................................................................................126
REPLACE.........................................................................................................................127
RPAD................................................................................................................................128
RTRIM..............................................................................................................................128
SOUNDEX .......................................................................................................................129
SUBSTR ...........................................................................................................................130
SUBSTRB.........................................................................................................................131
TRANSLATE...................................................................................................................131
UPPER..............................................................................................................................132
Funkcje znakowe zwracaj/ce warto&ci liczbowe....................................................................133
ASCII................................................................................................................................133
INSTR...............................................................................................................................133
INSTRB............................................................................................................................134
LENGTH ..........................................................................................................................135
LENGTHB........................................................................................................................135
NLSSORT.........................................................................................................................136
Funkcje numeryczne ...............................................................................................................136
ABS...................................................................................................................................136
ACOS................................................................................................................................137
ASIN.................................................................................................................................137
ATAN ...............................................................................................................................138
ATAN2 .............................................................................................................................138
CEIL .................................................................................................................................139
COS...................................................................................................................................139
COSH................................................................................................................................140
EXP...................................................................................................................................140
FLOOR .............................................................................................................................140
LN.....................................................................................................................................141
LOG..................................................................................................................................141
MOD.................................................................................................................................142
POWER ............................................................................................................................142
ROUND............................................................................................................................143
SIGN.................................................................................................................................143
SIN....................................................................................................................................144
SINH.................................................................................................................................144
SQRT................................................................................................................................144
TAN..................................................................................................................................145
TANH ...............................................................................................................................145
TRUNC.............................................................................................................................146
Funkcje zwi/zane z dat/ .........................................................................................................146
ADD_MONTHS...............................................................................................................146
LAST_DAY......................................................................................................................147
MONTHS_BETWEEN ....................................................................................................147
NEW_TIME .....................................................................................................................148
NEXT_DAY.....................................................................................................................149
ROUND............................................................................................................................149
SYSDATE ........................................................................................................................150
TRUNC.............................................................................................................................151
8
Oracle8. Programowanie w jzyku PL/SQL
Funkcje dokonuj/ce konwersji................................................................................................152
CHARTOROWID ............................................................................................................152
CONVERT .......................................................................................................................153
HEXTORAW ...................................................................................................................153
RAWTOHEX ...................................................................................................................154
ROWIDTOCHAR ............................................................................................................154
TO_CHAR(daty) ..............................................................................................................155
TO_CHAR(etykiety) ........................................................................................................155
TO_CHAR(liczba)............................................................................................................157
TO_DATE ........................................................................................................................159
TO_LABEL......................................................................................................................159
TO_MULTI_BYTE..........................................................................................................160
TO_NUMBER..................................................................................................................160
TO_SINGLE_BYTE ........................................................................................................161
Funkcje grupowe.....................................................................................................................161
AVG..................................................................................................................................161
COUNT.............................................................................................................................162
GLB ..................................................................................................................................163
LUB ..................................................................................................................................163
MAX.................................................................................................................................163
MIN...................................................................................................................................164
STDDEV...........................................................................................................................164
SUM..................................................................................................................................165
VARIANCE......................................................................................................................165
Inne funkcje.............................................................................................................................166
BFILENAME ...................................................................................................................166
DECODE..........................................................................................................................166
DUMP...............................................................................................................................167
EMPTY_CLOB/EMPTY_BLOB.....................................................................................169
GREATEST......................................................................................................................169
GREATEST_LB...............................................................................................................170
LEAST..............................................................................................................................170
LEAST_UB ......................................................................................................................170
NVL..................................................................................................................................171
UID ...................................................................................................................................171
USER................................................................................................................................172
USERENV........................................................................................................................172
VSIZE...............................................................................................................................173
PL/SQL w działaniu. Drukowanie liczb w postaci tekstowej.................................................174
Podsumowanie........................................................................................................................180
Rozdział 6. Kursory ...............................................................................................181
Czym jest kursor?....................................................................................................................181
Przetwarzanie kursorów jawnych.....................................................................................182
Przetwarzanie kursorów niejawnych................................................................................189
Ptle pobierania danych kursora .............................................................................................191
Ptle proste........................................................................................................................191
Ptle WHILE ....................................................................................................................193
Ptle FOR kursora.............................................................................................................194
Wyj/tek NO_DATA_FOUND kontra atrybut %NOTFOUND .......................................195
Kursory z klauzul/ FOR UPDATE instrukcji SELECT...................................................196
Zmienne kursora .....................................................................................................................199
Deklaracja zmiennej kursora ............................................................................................200
Przydzielenie obszaru pamici dla zmiennych kursora....................................................201
Otwieranie zmiennej kursora dla zapytania......................................................................202
Plik z chomika:
Ksiegarnia_Informatyka
Inne pliki z tego folderu:
Optymalizacja_Oracle_SQL_Leksykon_kieszonkowy_oporsq.pdf
(278 KB)
Oracle8i_Podrecznik_administratora_baz_danych_or8pab.pdf
(688 KB)
Oracle8i_w_sieci_or8www.pdf
(491 KB)
Oracle8_Programowanie_w_jezyku_PL_SQL_or8pls.pdf
(436 KB)
Oracle9i_Administrowanie_bazami_danych_od_podstaw_or9dba.pdf
(511 KB)
Inne foldery tego chomika:
Acces
MySQL
PostgreSQL
SQL
SQL Server
Zgłoś jeśli
naruszono regulamin