Oracle8 Programowanie w jezyku PL SQL.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:
michael1307
Inne pliki z tego folderu:
100 rzeczy ktore kazdy projektant powinien wiedziec o potencjalnych klientach.pdf
(1608 KB)
10 projektow w cyfrowej ciemni fotograficznej.pdf
(773 KB)
100 sposobow na cyfrowe wideo.pdf
(1337 KB)
100 sposobow na Excel 2007 PL Tworzenie funkcjonalnych arkuszy.pdf
(1134 KB)
100 sposobow na Flash.pdf
(2199 KB)
Inne foldery tego chomika:
Dla bystrzaków
Dokumenty
Ebook-point
editio
Escape Magazine
Zgłoś jeśli
naruszono regulamin