Oracle PL/SQL: das umfassende Handbuch
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | German |
Veröffentlicht: |
Bonn
Rheinwerk Verlag
2023
|
Ausgabe: | 4., aktualisierte Auflage |
Schriftenreihe: | Rheinwerk Computing
|
Schlagworte: | |
Online-Zugang: | Inhaltstext Inhaltsverzeichnis |
Beschreibung: | 1090 Seiten 24 cm x 16.8 cm |
ISBN: | 9783836296304 3836296306 |
Internformat
MARC
LEADER | 00000nam a22000008c 4500 | ||
---|---|---|---|
001 | BV049365128 | ||
003 | DE-604 | ||
005 | 20240430 | ||
007 | t| | ||
008 | 231013s2023 gw |||| 00||| ger d | ||
015 | |a 23,N21 |2 dnb | ||
016 | 7 | |a 1289655707 |2 DE-101 | |
020 | |a 9783836296304 |c : EUR 89.90 (DE), EUR 92.50 (AT), CHF 115.90 (freier Preis) |9 978-3-8362-9630-4 | ||
020 | |a 3836296306 |9 3-8362-9630-6 | ||
024 | 3 | |a 9783836296304 | |
035 | |a (OCoLC)1396993151 | ||
035 | |a (DE-599)DNB1289655707 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a ger | |
044 | |a gw |c XA-DE-NW | ||
049 | |a DE-1050 |a DE-523 |a DE-92 |a DE-1051 |a DE-29T |a DE-19 |a DE-859 |a DE-860 |a DE-20 |a DE-573 | ||
082 | 0 | |a 005.7565 |2 23/ger | |
084 | |a ST 271 |0 (DE-625)143639: |2 rvk | ||
084 | |8 1\p |a 004 |2 23sdnb | ||
100 | 1 | |a Sieben, Jürgen |d 1965- |e Verfasser |0 (DE-588)1017060401 |4 aut | |
245 | 1 | 0 | |a Oracle PL/SQL |b das umfassende Handbuch |c Jürgen Sieben |
246 | 1 | 3 | |a Oracle PL, SQL |
250 | |a 4., aktualisierte Auflage | ||
264 | 1 | |a Bonn |b Rheinwerk Verlag |c 2023 | |
300 | |a 1090 Seiten |c 24 cm x 16.8 cm | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Rheinwerk Computing | |
650 | 0 | 7 | |a ORACLE 23c |0 (DE-588)1321269862 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a PL/SQL |0 (DE-588)4457669-9 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a ORACLE 21c |0 (DE-588)1321269714 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a ORACLE 19c |0 (DE-588)123100813X |2 gnd |9 rswk-swf |
653 | |a Oracle 19c 21c | ||
653 | |a Datenbanken programmieren | ||
653 | |a plsql | ||
653 | |a Dynamisches SQL | ||
653 | |a Trigger | ||
653 | |a Datenbank erstellen | ||
653 | |a Datenbank-Administration | ||
653 | |a Hand-Buch E-Book lernen Grundlagen Kurs Tipps Workshop Wissen Anleitung Training Ausbildung Schulung | ||
653 | |a XML OOP | ||
653 | |a Programmiersprache Oracle | ||
653 | |a Developer Tutorial | ||
689 | 0 | 0 | |a ORACLE 23c |0 (DE-588)1321269862 |D s |
689 | 0 | 1 | |a ORACLE 21c |0 (DE-588)1321269714 |D s |
689 | 0 | 2 | |a ORACLE 19c |0 (DE-588)123100813X |D s |
689 | 0 | 3 | |a PL/SQL |0 (DE-588)4457669-9 |D s |
689 | 0 | |5 DE-604 | |
710 | 2 | |a Rheinwerk Verlag |0 (DE-588)1081738405 |4 pbl | |
856 | 4 | 2 | |m X:MVB |q text/html |u http://deposit.dnb.de/cgi-bin/dokserv?id=ced1a6bdabf041b09657566652607eac&prov=M&dok_var=1&dok_ext=htm |3 Inhaltstext |
856 | 4 | 2 | |m DNB Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=034625214&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
883 | 1 | |8 1\p |a vlb |d 20230517 |q DE-101 |u https://d-nb.info/provenance/plan#vlb | |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-034625214 |
Datensatz im Suchindex
_version_ | 1816352285900406784 |
---|---|
adam_text |
AUF
EINEN
BLICK
1
EINFUEHRUNG
.
23
2
VERWENDETE
WERKZEUGE
UND
RESSOURCEN
.
35
TEIL
I
GRUNDLAGEN
3
AUFBAU
DER
DATENBANK
AUS
SICHT
EINES
PROGRAMMIERERS
.
57
4
DATENBANKOBJEKTE
UND
SQL
.
113
5
DATENSICHERHEIT,-KONSISTENZ
UND
TRANSAKTION
.
159
6
PROGRAMMIERUNG
DER
DATENBANK
.
213
TEIL
II
DIE
SPRACHE
PL/SQL
7
DIE
BLOCKSTRUKTUR
UND
SYNTAX
VON
PL/SQL.
233
8
KONTROLLSTRUKTUREN
.
275
9
DATENTYPEN
IN
PL/SQL.
303
10
CURSOR
.
341
11
EVENTS
IN
DER
DATENBANK:
PROGRAMMIERUNG
VON
TRIGGERN
.
385
12
PACKAGES
.
449
13
ERWEITERUNG
VON
SQL
.
521
14
DYNAMISCHES
SQL
.
571
15
EXCEPTION
.
631
TEIL
III
PL/SQL
IM
EINSATZ
16
ARBEITEN
MIT
LOBS
(LARGE
OBJECTS)
.
667
17
ARBEITEN
MIT
XML
.
701
18
ARBEITEN
MIT
JSON
.
769
19
OBJEKTORIENTIERUNG
.
801
20
INTEGRATION
VON
ORACLE
IN
APPLIKATIONEN
.
881
21
PERFORMANCE-TUNING
UND
CODEANALYSE
.
945
22
WORKSHOP:
PL/SQL
INSTRUMENTATION
TOOLKIT
(PIT)
.
1003
INHALT
MATERIALIEN
ZUM
BUCH
.
21
1
EINFUEHRUNG
23
1.1
FUER
WEN
IST
DIESES
BUCH
GESCHRIEBEN?
.
23
1.2
DER
AUFBAU
DES
BUCHES.
26
1.2.1
TEIL
I:
GRUNDLAGEN
.
27
1.2.2
TEIL
II:
DIE
SPRACHE
PL/SQL
.
28
1.2.3
TEIL
III:
PL/SQL
IM
EINSATZ
.
31
1.3
VORWORT
ZUR
VIERTEN
AUFLAGE
.
34
2
VERWENDETE
WERKZEUGE
UND
RESSOURCEN
35
2.1
ORACLES
ONLINE-DOKUMENTATION
.
35
2.1.1
WO
FINDE
ICH
DIE
BENOETIGTEN
INFORMATIONEN?
.
36
2.1.2
PL/SQL-GRUNDLAGEN
.
37
2.1.3
ORACLE-PACKAGES
.
38
2.1.4
WEITERFUEHRENDE
LITERATUR
.
39
2.2
AUFSETZEN
EINER
BEISPIELDATENBANK
.
40
2.3
SQL*PLUS
.
41
2.4
SQLCL
.
42
2.5
SQL
DEVELOPER
.
43
2.6
EXPLAIN
PLAN
.
44
2.7
AUTOTRACE
.
46
2.8
RUNSTATS
.
48
2.9
TRACE
UND
TKPROF
.
49
2.10
DEBUGGER
.
52
2.11
WEITERE
WERKZEUGE
.
53
2.12
DIE
BEISPIELSKRIPTE
.
53
TEIL
I
GRUNDLAGEN
3
AUFBAU
DER
DATENBANK
AUS
SICHT
EINES
PROGRAMMIERERS
57
3.1
GRUNDLEGENDE
ARBEITSWEISE
DER
DATENBANK
.
57
3.1.1
ANFORDERUNGEN
AN
EIN
DATENBANKMANAGEMENTSYSTEM
.
58
3.1.2
LESEKONSISTENZ
.
61
3.1.3
DIE
BEGRIFFE
DATENBANK,
SCHEMA
UND
TABLESPACE
.
62
3.1.4
SYSTEMTABELLEN,
DATA
DICTIONARY
UND
PRIVILEGIEN
.
64
3.1.5
DIE
SICHT
DER
ANWENDUNG
AUF
DIE
DATENBANK
.
66
3.2
LOGISCHER
AUFBAU:
SCHEMA,
TABLESPACE
UND
CO
.
69
3.2.1
SCHEMA
.
69
3.2.2
TABLESPACE
.
73
3.2.3
AUSWIRKUNGEN
AUF
DIE
ARCHITEKTUR
EINER
APPLIKATION
.
76
3.3
DIE
PHYSIKALISCHE
DATENBANK
.
79
3.3.1
DATENDATEIEN
.
79
3.3.2
REDO-LOG-DATEIEN
.
81
3.3.3
KONTROLLDATEI
.
82
3.3.4
PARAMETERDATEI
.
82
3.3.5
PASSWORTDATEI
.
83
3.4
INSTANZ
UND
SPEICHERSTRUKTUREN
.
84
3.4.1
DIE
SPEICHERBEREICHE
DER
SGA
.
86
3.4.2
SHARED
POOL
.
88
3.4.3
DIE
HINTERGRUNDPROZESSE
.
89
3.5
CONTAINERDATENBANK
.
94
3.6
START
DER
DATENBANK
.
95
3.7
VERBINDUNGSAUFBAU
ZUR
DATENBANK
.
96
3.7.1
VERBINDUNGSARTEN
UND
TREIBER
.
98
3.7.2
DEDICATED-SERVER-VERBINDUNG
.
104
3.7.3
SHARED-SERVER-VERBINDUNG
.
105
3.7.4
DATABASE
RESIDENT
CONNECTION
POOL
.
107
3.7.5
UND
NUN?
ENTSCHEIDUNGSHILFEN
FUER
DEN
VERBINDUNGSAUFBAU
.
109
4
DATENBANKOBJEKTE
UND
SQL
113
4.1
TABELLEN
.
113
4.1.1
HEAP
ORGANIZED
TABLE
.
113
4.1.2
INDEX
ORGANIZED
TABLE
.
115
4.1.3
TEMPORAERE
TABELLEN
.
116
4.1.4
PARTITIONIERTE
TABELLEN
.
118
4.2
INDEX
.
120
4.2.1
ANMERKUNG
ZUR
BENUTZUNG
VON
INDIZES
.
122
4.2.2
B*-BAUM-INDEX
.
124
4.2.3
REVERSE-KEY-INDEX
.
126
4.2.4
FUNKTIONSBASIERTER
INDEX
.
127
4.3
VIEWS
UND
MATERIALIZED
VIEWS
.
129
4.3.1
VIEWS
.
129
4.3.2
MATERIALIZED
VIEWS
.
130
4.4
PL/SQL-PROGRAMM
.
132
4.5
SONSTIGE
DATENBANKOBJEKTE
.
133
4.5.1
SEQUENZEN
.
133
4.5.2
SYNONYM
.
134
4.5.3
DATENBANKLINK
.
135
4.5.4
GROSSE
DATENMENGEN:
CLOB,
NCLOB,
BLOB
UND
BFILE
.
136
4.5.5
BENUTZERDEFINIERTE
TYPEN,
XML,
JSON
.
138
4.5.6
WEITERE
DATENBANKOBJEKTE
.
139
4.6
EXKURS:
ZEICHENSATZCODIERUNG.
139
4.6.1
ZEICHENSATZCODIERUNG
IM
UEBERBLICK
.
139
4.6.2
ZEICHENSATZCODIERUNG
BEI
ORACLE
.
141
4.7
MAECHTIGKEIT
VON
SQL
.
145
4.7.1
ANALYTISCHE
FUNKTIONEN
.
145
4.7.2
HIERARCHISCHE
ABFRAGEN
.
148
4.7.3
ERROR-LOGGING
.
151
4.7.4
FAZIT
.
156
5
DATENSICHERHEIT,-KONSISTENZ
UND
TRANSAKTION
159
5.1
LESE
UND
SCHREIBKONSISTENZ
.
160
5.1.1
LESEKONSISTENZ
.
160
5.1.2
SCHREIBKONSISTENZ
.
164
5.2
TRANSAKTION
.
164
5.2.1
TRANSAKTION
ZUM
SCHUTZ
DER
LESEKONSISTENZ
.
164
5.2.2
TRANSAKTION
ZUR
DEFINITION
EINES
GESCHAEFTSFALLS
.
166
5.2.3
ZUSAMMENFASSUNG
.
167
5.3
DATENKONSISTENZ
UND
REFERENZIELLE
INTEGRITAET
.
168
5.3.1
DATENINTEGRITAET
.
169
5.3.2
PERFORMANCE-UEBERLEGUNGEN
ZU
DATENBANK-CONSTRAINTS
.
176
5.3.3
DATENKONSISTENZ
.
179
5.3.4
ZUSAMMENFASSUNG
.
183
5.4
EXPLIZITES
SPERREN
VON
DATEN
DURCH
DIE
ANWENDUNG
.
183
5.4.1
DAS
PROBLEM:
LOST
UPDATES
.
183
5.4.2
DAS
OPTIMISTISCHE
SPERREN
.
184
5.4.3
DAS
PESSIMISTISCHE
SPERREN
.
188
5.4.4
DAS
VORSICHTIG
OPTIMISTISCHE
SPERREN
.
188
5.4.5
UND
NUN?
WANN
SOLLTEN
SIE
WELCHE
SPERRSTRATEGIE
VERWENDEN?
.
189
5.5
VERARBEITUNG
EINER
SQL-ANWEISUNG.
190
5.5.1
PARSEN
UND
OPTIMIERUNG
.
191
5.5.2
DATENLIEFERUNG
UEBER
CURSOR
.
196
5.6
DIE
SPERRMECHANISMEN
VON
ORACLE
.
196
5.6.1
LOCKS
.
196
5.6.2
LATCHES
.
197
5.7
DATENSICHERHEIT
.
197
5.8
WORKSHOP:
EINFLUSS
DER
PROGRAMMIERUNG
.
200
5.8.1
DAS
ZIEL
UNSERER
PROGRAMMIERUNG
.
200
5.8.2
IMPLEMENTIERUNG
DES
TESTS
.
202
6
PROGRAMMIERUNG
DER
DATENBANK
213
6.1
ERWEITERUNG
DER
DATENBANKFUNKTIONALITAET
.
213
6.2
PROGRAMMIERUNG
DER
DATENKONSISTENZ
.
215
6.2.1
DATENBANKTRIGGER
.
216
6.2.2
DATENZUGRIFF
UEBER
PL/SQL
.
220
6.2.3
DATENKONSISTENZ
JENSEITS
REFERENZIELLER
INTEGRITAET
.
222
6.3
PROGRAMMIERUNG
DER
DATENSICHERHEIT
.
223
6.4
ANWENDUNGSPROGRAMMIERUNG
MIT
PL/SQL.
226
6.4.1
PL/SQL
AUF
DER
CLIENT-SEITE
.
227
6.5
UNTERSTUETZUNG
DER
ADMINISTRATION
DURCH
PL/SQL
.
227
6.5.1
EINSATZ
VON
PL/SQL
IN
SKRIPTEN
.
228
6.5.2
VERWALTUNG
WIEDERKEHRENDER
AUFGABEN
MIT
SCHEDULER
UND
JOBS
.
229
6.5.3
DATENBANKTRIGGER
IM
UMFELD
DER
DATENSICHERUNG
UND
DES
AUDITINGS
.
229
TEIL
II
DIE
SPRACHE
PL/SQL
7
DIE
BLOCKSTRUKTUR
UND
SYNTAX
VON
PL/SQL
233
7.1
DAS
GRUNDGERUEST:
DER
PL/SQL-BLOCK
.
234
7.1.1
DEKLARATION
VON
VARIABLEN
.
238
7.1.2
SCHACHTELUNG
VON
BLOECKEN
ZUR
FEHLERBEHANDLUNG
.
240
7.1.3
GUELTIGKEITSBEREICH
VON
VARIABLEN
.
241
7.2
PROZEDUREN
.
241
7.2.1
PROZEDUREN
MIT
PARAMETERN
.
245
7.2.2
FORMEN
DER
PARAMETERZUWEISUNG
.
251
7.2.3
OPTIONALE
PARAMETER
.
252
7.2.4
BELIEBIG
VIELE
PARAMETER
AN
EINE
METHODE
UEBERGEBEN
.
256
7.3
FUNKTIONEN
.
257
7.4
DATENBANKTRIGGER
.
261
7.5
PACKAGES
.
262
7.5.1
PACKAGE-SPEZIFIKATION
.
263
7.5.2
PACKAGE-KOERPER
.
264
7.5.3
AUFRUF
VON
PROZEDUREN
UND
METHODEN
IN
PACKAGES
.
267
7.6
AUSFUEHRUNGSRECHTE
VON
PL/SQL-BLOECKEN
.
267
7.7
COMPILER-ANWEISUNGEN
(PRAGMA)
.
270
7.7.1
DIE
AUTONOME
TRANSAKTION
.
271
7.7.2
INITIALISIERUNG
EIGENER
FEHLER
.
272
7.8
BEST
PRACTICES
.
272
8
KONTROLLSTRUKTUREN
275
8.1
AUSWERTENDE
ANWEISUNG
1
(IF
THEN
ELSE-ANWEISUNG)
.
275
8.2
AUSWERTENDE
ANWEISUNG
2
(CASE-ANWEISUNG)
.
277
8.2.1
EINFACHE
CASE-ANWEISUNG
.
277
8.2.2
AUFRUF
DER
CASE-ANWEISUNG
ALS
SQL-AUSDRUCK
.
278
8.2.3
DIE
AUSWERTENDE
CASE-ANWEISUNG
.
279
8.3
EINFACHE
SCHLEIFEN
.
281
8.3.1
BASISSCHLEIFE
(SCHLEIFE)
.
281
8.3.2
ABWEISENDE
SCHLEIFE
1
(FOR-SCHLEIFE)
.
283
8.3.3
ABWEISENDE
SCHLEIFE
2
(WHILE-SCHLEIFE)
.
288
8.3.4
BEST
PRACTICES
.
289
8.4
KONDITIONALE
KOMPILIERUNG
.
292
8.4.1
DIE
AUSWAHLDIREKTIVE
(SELECTION
DIRECTIVE)
.
293
8.4.2
DIE
ABFRAGEDIREKTIVE
(INQUIRY
DIRECTIVE)
.
294
8.4.3
DIE
ERRORDIREKTIVE
(ERROR
DIRECTIVE)
.
297
8.5
AUS
DER
MOTTENKISTE:
KONZEPTE,
DIE
SIE
NICHT
VERWENDEN
SOLLTEN
.
297
8.5.1
LABEL
.
298
8.5.2
CONTINUE
UND
GOTO-ANWEISUNG
.
300
9
DATENTYPEN
IN
PL/SQL
303
9.1
SKALARE
DATENTYPEN
.
303
9.1.1
SQL-DATENTYPEN
.
303
9.1.2
ABWEICHENDE
GROESSEN
VON
PL/SQL-DATENTYPEN
.
306
9.1.3
BASISTYPEN
UND
UNTERTYPEN
IN
PL/SQL
.
307
9.1.4
SQL-DATENTYPEN,
DIE
IN
PL/SQL
NICHT
EXISTIEREN
.
309
9.1.5
PL/SQL-DATENTYPEN,
DIE
IN
SQL
NICHT
EXISTIEREN
.
309
9.1.6
OBJEKTORIENTIERTE
TYPEN
.
309
9.1.7
BENUTZERDEFINIERTE
DATENTYPEN
.
311
9.1.8
ABLEITUNG
VON
VARIABIENTYPEN
AUS
DEM
DATA
DICTIONARY
.
311
9.2
KOLLEKTIONEN
IN
PL/SQL
.
314
9.2.1
RECORD
.
314
9.2.2
ASSOZIATIVE
TABELLEN
.
326
9.2.3
MASSENVERARBEITUNG
MIT
ASSOZIATIVEN
TABELLEN
.
330
9.2.4
VARRAY
ODER
NESTED_TABLE
ALS
ALTERNATIVE
ZU
EINER
ASSOZIATIVEN
TABELLE
.
339
9.3
CURSOR
.
340
10
CURSOR
341
10.1
LEBENSZYKLUS
EINES
CURSORS
.
341
10.1.1
DEKLARATION
EINES
CURSORS
.
341
10.1.2
LESEN
EINES
DATENSATZES
AUS
DEM
CURSOR
.
342
10.1.3
SCHLIESSEN
DES
CURSORS
.
343
10.2
CURSOR-ATTRIBUTE
.
344
10.3
PARAMETRISIERTE
CURSOR
.
347
10.4
MENGENVERARBEITUNG
MIT
BULK
COLLECT
.
349
10.5
KURZFORM:
DIE
CURSOR
FOR-SCHLEIFE
.
351
10.6
IMPLIZITE
VERSUS
EXPLIZITE
CURSOR
.
353
10.6.1
IMPLIZITE
ODER
EXPLIZITE
CURSOR
.
353
10.6.2
IMPLIZITE
ODER
EXPLIZITE
CURSOR-KONTROLLE
.
357
10.7
CURSOR-VARIABLEN
(REF-CURSOR)
.
359
10.7.1
STARKE
CURSOR-VARIABLE
.
360
10.7.2
SCHWACHE
CURSOR-VARIABLE
.
361
10.8
CURSOR-AUSDRUECKE
.
366
10.9
GEMEINSAMER
ZUGRIFF
AUF
DATEN
UEBER
VERTEILTE
CURSOR
.
371
10.10
TABELLENFUNKTIONEN
.
373
10.10.1
WAS
IST
EINE
TABELLENFUNKTION?
.
373
10.10.2
WORKSHOP:
TABELLENFUNKTION
.
375
10.10.3
VERWENDUNG
VON
TABELLENFUNKTIONEN
.
379
10.10.4
WORKSHOP:
ERSTELLUNG
EINER
TABELLENFUNKTION
.
380
10.10.5
POLYMORPHE
TABELLENFUNKTION
.
383
11
EVENTS
IN
DER
DATENBANK:
PROGRAMMIERUNG
VON
TRIGGERN
385
11.1
DML-TRIGGER
.
385
11.1.1
ANWEISUNGS
VERSUS
ZEILENTRIGGER
.
386
11.1.2
DER
TRIGGERKOERPER
.
391
11.1.3
WANN
WIRD
EIN
TRIGGER
AUSGELOEST?
.
392
11.1.4
DAS
MUTATING-TABLE-PROBLEM
.
395
11.1.5
COMPOUND
TRIGGER
.
398
11.1.6
WORKSHOP:
LOESUNG
DES
MUTATING-TABLE-PROBLEMS
MIT
EINEM
COMPOUND
TRIGGER
.
399
11.1.7
CROSS
EDITION
TRIGGER
.
405
11.1.8
BENENNUNGSKONVENTION
VON
TRIGGERN
.
406
11.2
INSTEAD
OF-TRIGGER
.
406
11.3
EINSATZBEREICHE
VON
DML-TRIGGERN
.
409
11.3.1
ERWEITERUNG
DER
DATENKONSISTENZPRUEFUNG
UEBER
CONSTRAINTS
HINAUS
.
409
11.3.2
WORKSHOP:
STATUSAENDERUNGEN
IN
EINER
BESTIMMTEN
REIHENFOLGE
DURCHFUEHREN
.
410
11.3.3
IMPLEMENTIERUNG
EINFACHER
GESCHAEFTSREGELN
.
413
11.3.4
HISTORISIERUNG,
LOGGING
UND
AUDITING
VON
DATEN
.
414
11.3.5
WORKSHOP;
GENERISCHES
LOGGING
.
415
11.3.6
WORKSHOP:
HISTORISIERUNG
VON
DATEN
MIT
EINEM
INSTEAD
.
423
11.4
WANN
SIE
DML-TRIGGER
NICHT
VERWENDEN
SOLLTEN
.
429
11.4.1
AUDITING
MITHILFE
VON
TRIGGERN
.
431
11.4.2
SCHUTZ
DER
DATENINTEGRITAET
.
432
11.5
DATENBANKTRIGGER
.
433
11.5.1
EREIGNISATTRIBUTE
.
434
11.5.2
DATENBANKEREIGNISSE
.
437
11.5.3
BENUTZERBEZOGENE
EREIGNISSE
.
439
11.5.4
DDL-EREIGNISSE
.
443
11.5.5
SYSTEMEREIGNISSE
.
444
11.6
ZUSAMMENFASSUNG
.
445
12
PACKAGES
449
12.1
TRENNUNG
VON
OEFFENTLICHER
UND
PRIVATER
LOGIK
.
449
12.1.1
DEKLARATION
.
450
12.1.2
IMPLEMENTIERUNG
.
452
12.1.3
ZUSAMMENFASSUNG
.
463
12.2
UEBERLADUNG
IN
PACKAGES
.
465
12.2.1
DEKLARATION
.
465
12.2.2
IMPLEMENTIERUNG
.
467
12.2.3
ZUSAMMENFASSUNG
.
470
12.3
AUSFUEHRUNGSRECHTE
VON
PACKAGES
.
471
12.3.1
ROLLEN
UND
BERECHTIGUNGSKONZEPTE
.
473
12.3.2
ERWEITERUNGEN
DES
AUFRUFERRECHTE-BERECHTIGUNGSKONZEPTS
.
474
12.3.3
STEUERUNG
DES
ZUGRIFFS
AUF
EIN
PACKAGE
.
475
12.4
PACKAGES
UND
DIE
DEPENDENCY
CHAIN
.
476
12.5
VERSCHLUESSELUNG
VON
PACKAGE-CODE.
483
12.5.1
DAS
WRAP-UTILITY
.
484
12.5.2
VERWENDUNG
DES
PACKAGES
DBMS_DDL
.
485
12.6
ORACLE-PACKAGES
.
488
12.6.1
DAS
PACKAGE
STANDARD
.
491
12.6.2
WICHTIGE
ORACLE-PACKAGES
.
493
12.7
WORKSHOP:
VERWALTUNG
VON
ANWENDUNGSPARAMETERN
.
501
12.7.1
DAS
PROBLEM
UND
DIE
LOESUNGSIDEE
.
501
12.7.2
VORUEBERLEGUNGEN
ZUR
PARAMETERTABELLE
.
502
12.7.3
DIE
PARAMETERTABELLE
.
504
12.7.4
EINRICHTUNG
DER
PARAMETERTABELLE
UND
DER
ZUGRIFFSRECHTE
.
509
12.7.5
DAS
PARAMETER-PACKAGE
.
511
12.7.6
DAS
PACKAGE
IM
EINSATZ
.
517
13
ERWEITERUNG
VON
SQL
521
13.1
WANN
SQL
ERWEITERT
WERDEN
SOLLTE
.
521
13.1.1
BLEIBEN
SIE
AUF
DEM
AKTUELLEN
WISSENSSTAND
.
522
13.1.2
VORAUSSETZUNGEN
FUER
DIE
ERWEITERUNG
VON
SQL
.
526
13.2
SQL
DURCH
EIGENE
FUNKTIONEN
ERWEITERN
.
527
13.2.1
ANFORDERUNGEN
AN
DEN
PL/SQL-BLOCK
.
528
13.2.2
NEBENWIRKUNGSFREIHEIT
(PURITY)
.
529
13.2.3
OPTIMIZER
HINTS
UND
KLAUSELN
.
529
13.2.4
DAS
PRAGMA
RESTRICT_REFERENCES
.
530
13.2.5
WORKSHOP:
DETERMINISTISCHE
FUNKTION
.
530
13.3
WORKSHOP:
BERECHNUNG
DER
FAKULTAET
.
537
13.3.1
EINSCHRAENKUNG
DER
FAKULTAETSFUNKTION
AUF
DEFINIERTE
WERTE
.
538
13.3.2
ZIELVORGABE
.
540
13.3.3
UND
WAS
IST
MIT
REKURSION?
.
545
13.4
GRUPPENFUNKTIONEN
SELBST
ERSTELLEN
.
547
13.4.1
ARBEITSWEISE
VON
GRUPPENFUNKTIONEN
.
548
13.4.2
WORKSHOP:
ERSTELLUNG
EINER
GRUPPENFUNKTION
.
551
13.4.3
TEST
DER
GRUPPENFUNKTION
.
556
13.4.4
ZUSAMMENFASSUNG
.
558
13.5
WORKSHOP:
CODE-GENERATOR
FUER
GRUPPENFUNKTIONEN
.
558
14
DYNAMISCHES
SQL
571
14.1
DYNAMISCHES
SQL
MITTELS
EXECUTE
IMMEDIATE
.
572
14.1.1
VERWENDUNG
VON
BINDEVARIABLEN
.
573
14.2
DYNAMISCHES
SQL
MIT
CURSOR-VARIABLEN
.
576
14.3
WORKSHOP:
ERSTELLUNG
EINER
PROZEDUR
ALS
SCHNITTSTELLE
ZU
EINEM
EXTERNEN
PROGRAMM
.
576
14.3.1
DIE
AUFGABENSTELLUNG
.
576
14.3.2
DER
LOESUNGSANSATZ
.
577
14.3.3
VORBEREITENDE
ARBEITEN
.
577
14.3.4
DIE
PROZEDUR
FUER
DEN
DATENZUGRIFF
.
578
14.4
DBMS_SQL-PACKAGE
.
581
14.4.1
WORKSHOP:
CODE-GENERATOR
.
584
14.5
SICHERHEIT
BEI
DYNAMISCHEM
SQL
.
597
14.5.1
SQL-INJECTION
UEBER
SUCHPARAMETER
.
597
14.5.2
SQL-INJECTION
UEBER
FORMATANGABEN
.
598
14.5.3
SQL-INJECTION
UEBER
DAS
EINSCHMUGGELN
ZUSAETZLICHER
ANWEISUNGEN
.
599
14.5.4
VERMEIDUNG
VON
SQL-INJECTION
1:
BINDEVARIABLEN
.
600
14.5.5
VERMEIDUNG
VON
SQL-INJECTION
2:
.
600
14.6
SQL-MAKROS.
601
14.6.1
SKALARE
SQL-MAKROS
.
602
14.6.2
TABELLEN-SQL-MAKROS
.
610
14.7
POLYMORPHE
TABELLENFUNKTIONEN
.
615
14.7.1
EIN
ERSTES
BEISPIEL
.
616
14.7.2
BEISPIEL
2:
KONVERTIERUNG
IN
JSON
ODER
XML
.
623
14.7.3
MEHRERE
PTF
IN
EINEM
PACKAGE
.
624
14.7.4
PTF
ZUM
ERZEUGEN
NEUER
ZEILEN
.
625
14.7.5
PTF
UND
DER
EXECUTION
STORE
(XSTORE)
.
627
15
EXCEPTION
631
15.1
ORACLE-FEHLER
.
631
15.1.1
BENANNTE
FEHLER
.
635
15.1.2
SQLERRM
UND
SQLCODE-FUNKTIONEN
UND
DER
FEHLER-STACK
.
637
15.1.3
NICHT
BENANNTE
FEHLER
BENENNEN
.
645
15.2
APPLIKATIONSFEHLER
ERSTELLEN
UND
BEARBEITEN
.
647
15.2.1
FEHLER
DIREKT
MIT
RAISE_APPLICATION_ERROR
ERZEUGEN
.
647
15.2.2
FEHLER
AUS
EINEM
FEHLER-PACKAGE
ERSTELLEN
LASSEN
.
648
15.2.3
ZENTRALISIERUNG
DER
FEHLERMELDUNGEN
UEBER
IMSGEN
.
650
15.2.4
WORKSHOP:
WRAPPER-PACKAGE
UM
UTLJMS
.
653
15.2.5
ZUSAMMENFASSUNG:
FEHLERMELDUNGEN
MIT
UTLJMS
.
657
15.3
WORKSHOP:
ZENTRALISIERTER
FEHLER-HANDLER
MIT
EINEM
TRIGGER
.
657
15.4
ZUSAMMENFASSUNG.
662
TEIL
III
PL/SQL
IM
EINSATZ
16
ARBEITEN
MIT
LOBS
(LARGE
OBJECTS)
667
16.1
TECHNISCHE
STRUKTUR
.
668
16.1.1
EINSATZ
VON
LOB-DATENTYPEN
IN
DER
DATENBANK
.
668
16.1.2
LOB
ALS
PL/SQL-VARIABLE
.
673
16.1.3
LOB
ALS
METHODENPARAMETER
.
679
16.1.4
SECUREFILES
.
681
16.2
DIE
DATENTYPEN
CLOB,
NCLOB,
BLOB
UND
BFILE
.
683
16.2.1
CLOB
UND
NCLOB
.
683
16.2.2
DER
BINAERE
DATENTYP
BLOB
.
684
16.2.3
BFILE
.
684
16.3
DAS
PACKAGE
DBMS_LOB
.
686
16.3.1
SCHREIBZUGRIFF
AUF
TEMPORAERE
ODER
PERSISTENTE
LOBS
.
687
16.3.2
VERWALTUNG
TEMPORAERER
UND
PERSISTENTER
LOBS
.
689
16.3.3
API
FUER
BFILE-LOB
.
691
16.3.4
ZUGRIFF
AUF
LOBS
DURCH
DIE
ANWENDUNG
.
692
16.4
WORKSHOP:
HILFSFUNKTIONEN
ZUM
ARBEITEN
MIT
LOBS
.
692
17
ARBEITEN
MIT
XML
701
17.1
DER
DATENTYP
XMLTYPE
.
701
17.1.1
VERWENDUNG
VON
XMLTYPE
ALS
TABELLEN
ODER
SPALTENTYP
.
702
17.1.2
XMLTYPE-MEMBER-FUNCTIONS
.
705
17.1.3
UMFORMUNG
VON
XML
MITTELS
XSLT
.
707
17.2
DIE
SPEICHERUNG
VON
XML-DATEN
IN
DER
DATENBANK
.
710
17.3
XML
AUS
RELATIONALEN
DATEN
ERZEUGEN
.
713
17.3.1
DER
SQL/XML-STANDARD
.
714
17.3.2
DAS
PACKAGE
DBMS_XMLGEN.
718
17.4
RELATIONALE
DATEN
AUS
XML
EXTRAHIEREN
.
726
17.4.1
EXTRAKTION
RELATIONALER
DATEN
MIT
XMLTABLE
.
727
17.4.2
EXTRAKTION
RELATIONALER
DATEN
MITTELS
OBJEKTORIENTIERUNG
.
730
17.5
XML
MIT
PL/SQL
VERARBEITEN
.
731
17.5.1
DIE
PROGRAMMIERUNG
MITTELS
DOM-BAUM
.
731
17.5.2
DIE
XML-PACKAGES
.
733
17.6
DIE
XML-DATENBANK
.
743
17.6.1
EINFUEHRUNG
IN
DIE
XML-DATENBANK
.
744
17.6.2
SPEICHERUNG
UND
VEROEFFENTLICHUNG
BINAERER
DOKUMENTE
UND
XML-DOKUMENTE
.
747
17.6.3
DOKUMENTE
UEBER
XDB
VERWALTEN
.
750
17.6.4
ZUGRIFFSSCHUTZ
UND
SICHERHEIT
VON
XDB
.
759
17.6.5
VERSIONIERUNG
VON
RESSOURCEN
.
765
18
ARBEITEN
MIT
JSON
769
18.1
JSON
.
769
18.1.1
UEBERBLICK:
WAS
IST
JSON?.
769
18.1.2
DER
DATENTYP
JSON
.
772
18.1.3
DER
DATENTYP
JSON
(REVISITED)
.
774
18.1.4
ABFRAGEN
GEGEN
JSON-INSTANZEN
.
775
18.1.5
JSON
DATA
GUIDE
.
777
18.2
PROGRAMMIERUNG
VON
JSON
MIT
PL/SQL
.
780
18.2.1
UEBERSICHT
UEBER
DIE
PL/SQL-JSON-TYPEN
.
781
18.2.2
OBJEKTMETHODEN
.
782
18.2.3
MANIPULATION
MITTELS
APEX-PACKAGES
.
785
18.3
SODA
(SIMPLE
ORACLE
DOCUMENT
ACCESS)
.
789
183.1
SODA-KOLLEKTION
.
791
183.2
SODA-OPERATIONEN
.
794
1833
SODA-DOKUMENT
.
796
183.4
SODA
UND
TRANSAKTIONEN
.
797
19
OBJEKTORIENTIERUNG
801
19.1
EINFUEHRUNG
IN
DIE
OBJEKTORIENTIERUNG
.
803
19.1.1
ALLES
IST
EIN
OBJEKT
.
804
19.1.2
DAS
ZWEITE
REIZWORT:
VERERBUNG!
.
806
19.13
ABSTRAKTE
UND
FINALE
KLASSEN
.
807
19.1.4
STATISCHE
METHODEN
.
808
19.1.5
OBJEKTIDENTITAET
VERSUS
STATEMENT
OF
TRUTH
.
808
19.1.6
KLASSEN
HABEN
KOMPLEXE
STRUKTUREN
.
810
19.1.7
AUSWIRKUNGEN
AUF
DIE
DATENBANKPROGRAMMIERUNG
.
812
19.2
OBJEKTORIENTIERTE
DATENTYPEN
.
815
19.2.1
OBJECT
.
815
19.2.2
VARRAY
.
816
19.23
NESTED
TABLE
.
819
19.2.4
VERGLEICHE
VON
KOLLEKTIONEN
.
820
19.2.5
METHODEN
VON
KOLLEKTIONSTYPEN
.
821
19.2.6
WORKSHOP:
LISTE
VON
WERTEN
UEBERGEBEN
.
823
19.3
OBJEKTORIENTIERTE
DATENMODELLE
.
826
19.4
WORKSHOP:
DER
DATENTYP
MONEYTYPE
.
830
19.4.1
VORUEBERLEGUNGEN
.
830
19.4.2
IMPLEMENTIERUNG
DES
TYPS
MONEYTYPE
.
831
19.4.3
DER
TYPKOERPER
.
833
19.4.4
IMPLEMENTIERUNG
DES
PACKAGES
MONEYTYPE_PKG
.
836
19.4.5
DER
PACKAGE-KOERPER
.
837
19.4.6
DIE
RECHTESITUATION
AB
VERSION
11G
.
846
19.4.7
ERWEITERUNG
DURCH
VERERBUNG
.
849
19.5
OBJEKTORIENTIERTE
ANWENDUNGSENTWICKLUNG
UND
RELATIONALE
DATENBANKEN
.
851
19.5.1
DAS
PROBLEM
DES
IMPEDANCE
MISMATCH
.
852
19.5.2
LOESUNGSANSATZ
1:
DIE
VISION
DER
GENERISCHEN
DATENBANK
.
862
19.5.3
LOESUNGSANSATZ
2:
OBJEKTRELATIONALE
MAPPING-WERKZEUGE
.
869
19.5.4
LOESUNGSANSATZ
3:
DAS
SMART-DATABASE-PARADIGMA
.
872
20
INTEGRATION
VON
ORACLE
IN
APPLIKATIONEN
881
20.1
SPERRUNG
VON
DATEN
BEI
DER
DATENAENDERUNG
.
882
20.1.1
TRANSAKTIONSSCHUTZ
INNERHALB
DER
DATENBANK
.
882
20.1.2
ERWEITERTER
FOKUS:
DATENSICHERUNG
IM
UMFELD
VON
ANWENDUNGEN
.
883
20.1.3
PESSIMISTISCHES
LOCKING
.
884
20.1.4
OPTIMISTISCHES
SPERREN
.
889
20.1.5
KOMBINATION
AUS
OPTIMISTISCHEM
UND
PESSIMISTISCHEM
SPERREN
.
897
20.1.6
DATABASE-CHANGE-NOTIFICATION-BASIERTES
LOCKING
.
899
20.2
SPEICHERUNG
VON
SESSION-INFORMATIONEN
.
901
20.2.1
GRUNDLAGEN
EINES
KONTEXTES
.
902
20.2.2
SESSION-KONTEXT
.
903
20.2.3
GLOBALLY
ACCESSED
CONTEXT
.
905
20.2.4
WORKSHOP:
PACKAGE
ZUR
VERWALTUNG
VON
KONTEXTEN
.
908
20.3
ZUGRIFF
AUF
DATEN
UEBER
PL/SQL-PACKAGES
.
920
20.3.1
KAPSELUNG
VON
DML-OPERATIONEN
IN
PACKAGES
.
921
20.3.2
VERMEIDUNG
VON
TRIGGERN
DURCH
PACKAGES
.
922
20.3.3
INTEGRATION
DATENBEZOGENER
GESCHAEFTSREGELN
.
923
20.4
WORKSHOP:
KEIMZELLE
EINER
SICHEREN
DATENBANKANWENDUNG
.
924
20.4.1
DAS
PROJEKT
.
924
20.4.2
UEBERSICHT
UEBER
DIE
ARCHITEKTUR
.
924
20.4.3
DIE
IOGON-PROZEDUR
.
927
20.4.4
AUFSETZEN
DER
SCHEMATA
.
928
20.4.5
DIE
PACKAGES
.
934
20.4.6
TEST
DER
ARCHITEKTUR
.
940
20.4.7
ZUSAMMENFASSUNG
UND
AUSBLICK
.
942
21
PERFORMANCE-TUNING
UND
CODEANALYSE
945
21.1
REGELN
ZUR
PERFORMANCE-OPTIMIERUNG
.
946
21.1.1
NUTZEN
SIE
SQL,
FALLS
DIES
MOEGLICH
IST
.
946
21.1.2
BETRACHTEN
SIE
DIE
DATENBANK
ALS
ENTFERNTE
RESSOURCE
.
949
21.1.3
BENUTZEN
SIE
BINDEVARIABLEN
.
949
21.1.4
ARBEITEN
SIE
MENGENORIENTIERT
.
950
21.1.5
BEREITEN
SIE
DIE
DATEN
VOR
DER
PROGRAMMIERUNG
OPTIMAL
VOR
.
951
21.1.6
ARBEITEN
SIE
SICH
IN
DIE
GRUNDKONZEPTE
DER
DATENBANK
EIN
.
951
21.1.7
NUTZEN
SIE
PL/SQL
BIS
ZUR
NEIGE
.
952
21.1.8
KONTROLLIEREN
SIE
DEN
SPEICHERVERBRAUCH
.
953
21.1.9
GLAUBEN
SIE
NICHT
AN
WUNDER
.
953
21.1.10
SALVATORISCHE
KLAUSEL
.
954
21.2
OPTIMIERUNGSMOEGLICHKEITEN
VON
PL/SQL
.
955
21.2.1
AUTOMATISIERTE
CODEOPTIMIERUNG
.
955
21.2.2
SUBPROGRAM-INLINING
.
956
21.2.3
NATIVE
KOMPILIERUNG
.
957
21.2.4
CACHING
.
960
21.2.5
FEINGRANULARE
ABHAENGIGKEITSVERWALTUNG
.
969
21.3
COMPILER-WARNUNGEN
.
969
21.4
PL/SCOPE.
973
21.4.1
WELCHE
INFORMATION
BIETET
PL/SCOPE?
.
974
21.4.2
DIE
VIEW
USERJDENTIFIERS
.
976
21.4.3
DIE
VIEW
USER_STATEMENTS
.
978
21.4.4
ADMINISTRATION
VON
PL/SCOPE
.
980
21.5
PL/SQL
HIERARCHICAL
PROFILER
.
980
21.5.1
DER
HIERARCHISCHE
PROFILER
IM
SQL
DEVELOPER
.
981
21.5.2
VORAUSSETZUNGEN
FUER
DEN
EINSATZ
DES
HIERARCHISCHEN
PROFILERS
.
983
21.5.3
DAS
PACKAGE
DBMS_HPROF
.
984
21.5.4
DIE
ANALYSE
.
986
21.5.5
EIN
ETWAS
REALITAETSNAEHERES
BEISPIEL
.
988
21.5.6
UMGEHUNG
DER
LIMITIERUNGEN
.
992
21.5.7
OPTIONEN
DER
FUNKTION
DBMS_HPROF.ANALYZE
.
998
21.6
DEN
SPEICHERVERBRAUCH
VON
PL/SQL
UEBERWACHEN
.
999
21.6.1
DIE
SPEICHERVERWALTUNG
VON
PL/SQL
.
1000
21.6.2
UEBERWACHUNG
DES
ARBEITSSPEICHERS
.
1001
22
WORKSHOP:
PL/SQL
INSTRUMENTATION
TOOLKIT
(PIT)
1003
22.1
UEBERBLICK:
DIE
IDEE
UND
DIE
ARCHITEKTUR
.
1003
22.1.1
FUNKTIONSUMFANG
.
1005
22.1.2
ANWENDUNGSBEISPIEL
.
1006
22.1.3
DIE
BETEILIGTEN
KOMPONENTEN
.
1009
22.1.4
IDEE
UND
ARBEITSWEISE
.
1010
22.2
BESCHREIBUNG
DER
EINZELNEN
KOMPONENTEN
.
1012
22.2.1
MELDUNG
.
1013
22.2.2
CALL-STACK
.
1017
22.2.3
KONTEXT
.
1021
22.2.4
ADAPTER
.
1024
22.2.5
DAS
PACKAGE
MSG
.
1026
22.2.6
AUSGABEMODUL
.
1027
22.2.7
DIE
PIT-API
.
1029
22.2.8
INTERNATIONALISIERUNG
.
1031
22.2.9
DIE
ZENTRALE
KOMPONENTE
PITJNTERNAL
.
1033
22.2.10
EIN
KONKRETES
AUSGABEMODUL
.
1039
22.3
IMPLEMENTIERUNG
DES
.
1047
22.3.1
FUNKTIONSUEBERBLICK
UND
IMPLEMENTIERUNGSSTRATEGIE
.
1047
22.3.2
IMPLEMENTIERUNGSDETAILS
.
1050
22.4
WEITERE
AUSGABEMODULE
.
1055
22.4.1
AUSGABE
IN
EIGENE
FEHLERDATEIEN
.
1055
22.4.2
AUSGABE
IN
APEX
.
1057
22.4.3
AUSGABE
IN
ALERT-LOG-ODER
TRACE-DATEIEN
.
1060
22.4.4 AUSGABE
IN
LOGGING-TABELLEN
.
1062
22.4.5
MELDUNG
ALS
E-MAIL
VERSENDEN
.
1062
22.4.6
MELDUNGEN
IN
JMS
INTEGRIEREN
.
1064
INDEX
.
1071 |
adam_txt |
AUF
EINEN
BLICK
1
EINFUEHRUNG
.
23
2
VERWENDETE
WERKZEUGE
UND
RESSOURCEN
.
35
TEIL
I
GRUNDLAGEN
3
AUFBAU
DER
DATENBANK
AUS
SICHT
EINES
PROGRAMMIERERS
.
57
4
DATENBANKOBJEKTE
UND
SQL
.
113
5
DATENSICHERHEIT,-KONSISTENZ
UND
TRANSAKTION
.
159
6
PROGRAMMIERUNG
DER
DATENBANK
.
213
TEIL
II
DIE
SPRACHE
PL/SQL
7
DIE
BLOCKSTRUKTUR
UND
SYNTAX
VON
PL/SQL.
233
8
KONTROLLSTRUKTUREN
.
275
9
DATENTYPEN
IN
PL/SQL.
303
10
CURSOR
.
341
11
EVENTS
IN
DER
DATENBANK:
PROGRAMMIERUNG
VON
TRIGGERN
.
385
12
PACKAGES
.
449
13
ERWEITERUNG
VON
SQL
.
521
14
DYNAMISCHES
SQL
.
571
15
EXCEPTION
.
631
TEIL
III
PL/SQL
IM
EINSATZ
16
ARBEITEN
MIT
LOBS
(LARGE
OBJECTS)
.
667
17
ARBEITEN
MIT
XML
.
701
18
ARBEITEN
MIT
JSON
.
769
19
OBJEKTORIENTIERUNG
.
801
20
INTEGRATION
VON
ORACLE
IN
APPLIKATIONEN
.
881
21
PERFORMANCE-TUNING
UND
CODEANALYSE
.
945
22
WORKSHOP:
PL/SQL
INSTRUMENTATION
TOOLKIT
(PIT)
.
1003
INHALT
MATERIALIEN
ZUM
BUCH
.
21
1
EINFUEHRUNG
23
1.1
FUER
WEN
IST
DIESES
BUCH
GESCHRIEBEN?
.
23
1.2
DER
AUFBAU
DES
BUCHES.
26
1.2.1
TEIL
I:
GRUNDLAGEN
.
27
1.2.2
TEIL
II:
DIE
SPRACHE
PL/SQL
.
28
1.2.3
TEIL
III:
PL/SQL
IM
EINSATZ
.
31
1.3
VORWORT
ZUR
VIERTEN
AUFLAGE
.
34
2
VERWENDETE
WERKZEUGE
UND
RESSOURCEN
35
2.1
ORACLES
ONLINE-DOKUMENTATION
.
35
2.1.1
WO
FINDE
ICH
DIE
BENOETIGTEN
INFORMATIONEN?
.
36
2.1.2
PL/SQL-GRUNDLAGEN
.
37
2.1.3
ORACLE-PACKAGES
.
38
2.1.4
WEITERFUEHRENDE
LITERATUR
.
39
2.2
AUFSETZEN
EINER
BEISPIELDATENBANK
.
40
2.3
SQL*PLUS
.
41
2.4
SQLCL
.
42
2.5
SQL
DEVELOPER
.
43
2.6
EXPLAIN
PLAN
.
44
2.7
AUTOTRACE
.
46
2.8
RUNSTATS
.
48
2.9
TRACE
UND
TKPROF
.
49
2.10
DEBUGGER
.
52
2.11
WEITERE
WERKZEUGE
.
53
2.12
DIE
BEISPIELSKRIPTE
.
53
TEIL
I
GRUNDLAGEN
3
AUFBAU
DER
DATENBANK
AUS
SICHT
EINES
PROGRAMMIERERS
57
3.1
GRUNDLEGENDE
ARBEITSWEISE
DER
DATENBANK
.
57
3.1.1
ANFORDERUNGEN
AN
EIN
DATENBANKMANAGEMENTSYSTEM
.
58
3.1.2
LESEKONSISTENZ
.
61
3.1.3
DIE
BEGRIFFE
DATENBANK,
SCHEMA
UND
TABLESPACE
.
62
3.1.4
SYSTEMTABELLEN,
DATA
DICTIONARY
UND
PRIVILEGIEN
.
64
3.1.5
DIE
SICHT
DER
ANWENDUNG
AUF
DIE
DATENBANK
.
66
3.2
LOGISCHER
AUFBAU:
SCHEMA,
TABLESPACE
UND
CO
.
69
3.2.1
SCHEMA
.
69
3.2.2
TABLESPACE
.
73
3.2.3
AUSWIRKUNGEN
AUF
DIE
ARCHITEKTUR
EINER
APPLIKATION
.
76
3.3
DIE
PHYSIKALISCHE
DATENBANK
.
79
3.3.1
DATENDATEIEN
.
79
3.3.2
REDO-LOG-DATEIEN
.
81
3.3.3
KONTROLLDATEI
.
82
3.3.4
PARAMETERDATEI
.
82
3.3.5
PASSWORTDATEI
.
83
3.4
INSTANZ
UND
SPEICHERSTRUKTUREN
.
84
3.4.1
DIE
SPEICHERBEREICHE
DER
SGA
.
86
3.4.2
SHARED
POOL
.
88
3.4.3
DIE
HINTERGRUNDPROZESSE
.
89
3.5
CONTAINERDATENBANK
.
94
3.6
START
DER
DATENBANK
.
95
3.7
VERBINDUNGSAUFBAU
ZUR
DATENBANK
.
96
3.7.1
VERBINDUNGSARTEN
UND
TREIBER
.
98
3.7.2
DEDICATED-SERVER-VERBINDUNG
.
104
3.7.3
SHARED-SERVER-VERBINDUNG
.
105
3.7.4
DATABASE
RESIDENT
CONNECTION
POOL
.
107
3.7.5
UND
NUN?
ENTSCHEIDUNGSHILFEN
FUER
DEN
VERBINDUNGSAUFBAU
.
109
4
DATENBANKOBJEKTE
UND
SQL
113
4.1
TABELLEN
.
113
4.1.1
HEAP
ORGANIZED
TABLE
.
113
4.1.2
INDEX
ORGANIZED
TABLE
.
115
4.1.3
TEMPORAERE
TABELLEN
.
116
4.1.4
PARTITIONIERTE
TABELLEN
.
118
4.2
INDEX
.
120
4.2.1
ANMERKUNG
ZUR
BENUTZUNG
VON
INDIZES
.
122
4.2.2
B*-BAUM-INDEX
.
124
4.2.3
REVERSE-KEY-INDEX
.
126
4.2.4
FUNKTIONSBASIERTER
INDEX
.
127
4.3
VIEWS
UND
MATERIALIZED
VIEWS
.
129
4.3.1
VIEWS
.
129
4.3.2
MATERIALIZED
VIEWS
.
130
4.4
PL/SQL-PROGRAMM
.
132
4.5
SONSTIGE
DATENBANKOBJEKTE
.
133
4.5.1
SEQUENZEN
.
133
4.5.2
SYNONYM
.
134
4.5.3
DATENBANKLINK
.
135
4.5.4
GROSSE
DATENMENGEN:
CLOB,
NCLOB,
BLOB
UND
BFILE
.
136
4.5.5
BENUTZERDEFINIERTE
TYPEN,
XML,
JSON
.
138
4.5.6
WEITERE
DATENBANKOBJEKTE
.
139
4.6
EXKURS:
ZEICHENSATZCODIERUNG.
139
4.6.1
ZEICHENSATZCODIERUNG
IM
UEBERBLICK
.
139
4.6.2
ZEICHENSATZCODIERUNG
BEI
ORACLE
.
141
4.7
MAECHTIGKEIT
VON
SQL
.
145
4.7.1
ANALYTISCHE
FUNKTIONEN
.
145
4.7.2
HIERARCHISCHE
ABFRAGEN
.
148
4.7.3
ERROR-LOGGING
.
151
4.7.4
FAZIT
.
156
5
DATENSICHERHEIT,-KONSISTENZ
UND
TRANSAKTION
159
5.1
LESE
UND
SCHREIBKONSISTENZ
.
160
5.1.1
LESEKONSISTENZ
.
160
5.1.2
SCHREIBKONSISTENZ
.
164
5.2
TRANSAKTION
.
164
5.2.1
TRANSAKTION
ZUM
SCHUTZ
DER
LESEKONSISTENZ
.
164
5.2.2
TRANSAKTION
ZUR
DEFINITION
EINES
GESCHAEFTSFALLS
.
166
5.2.3
ZUSAMMENFASSUNG
.
167
5.3
DATENKONSISTENZ
UND
REFERENZIELLE
INTEGRITAET
.
168
5.3.1
DATENINTEGRITAET
.
169
5.3.2
PERFORMANCE-UEBERLEGUNGEN
ZU
DATENBANK-CONSTRAINTS
.
176
5.3.3
DATENKONSISTENZ
.
179
5.3.4
ZUSAMMENFASSUNG
.
183
5.4
EXPLIZITES
SPERREN
VON
DATEN
DURCH
DIE
ANWENDUNG
.
183
5.4.1
DAS
PROBLEM:
LOST
UPDATES
.
183
5.4.2
DAS
OPTIMISTISCHE
SPERREN
.
184
5.4.3
DAS
PESSIMISTISCHE
SPERREN
.
188
5.4.4
DAS
VORSICHTIG
OPTIMISTISCHE
SPERREN
.
188
5.4.5
UND
NUN?
WANN
SOLLTEN
SIE
WELCHE
SPERRSTRATEGIE
VERWENDEN?
.
189
5.5
VERARBEITUNG
EINER
SQL-ANWEISUNG.
190
5.5.1
PARSEN
UND
OPTIMIERUNG
.
191
5.5.2
DATENLIEFERUNG
UEBER
CURSOR
.
196
5.6
DIE
SPERRMECHANISMEN
VON
ORACLE
.
196
5.6.1
LOCKS
.
196
5.6.2
LATCHES
.
197
5.7
DATENSICHERHEIT
.
197
5.8
WORKSHOP:
EINFLUSS
DER
PROGRAMMIERUNG
.
200
5.8.1
DAS
ZIEL
UNSERER
PROGRAMMIERUNG
.
200
5.8.2
IMPLEMENTIERUNG
DES
TESTS
.
202
6
PROGRAMMIERUNG
DER
DATENBANK
213
6.1
ERWEITERUNG
DER
DATENBANKFUNKTIONALITAET
.
213
6.2
PROGRAMMIERUNG
DER
DATENKONSISTENZ
.
215
6.2.1
DATENBANKTRIGGER
.
216
6.2.2
DATENZUGRIFF
UEBER
PL/SQL
.
220
6.2.3
DATENKONSISTENZ
JENSEITS
REFERENZIELLER
INTEGRITAET
.
222
6.3
PROGRAMMIERUNG
DER
DATENSICHERHEIT
.
223
6.4
ANWENDUNGSPROGRAMMIERUNG
MIT
PL/SQL.
226
6.4.1
PL/SQL
AUF
DER
CLIENT-SEITE
.
227
6.5
UNTERSTUETZUNG
DER
ADMINISTRATION
DURCH
PL/SQL
.
227
6.5.1
EINSATZ
VON
PL/SQL
IN
SKRIPTEN
.
228
6.5.2
VERWALTUNG
WIEDERKEHRENDER
AUFGABEN
MIT
SCHEDULER
UND
JOBS
.
229
6.5.3
DATENBANKTRIGGER
IM
UMFELD
DER
DATENSICHERUNG
UND
DES
AUDITINGS
.
229
TEIL
II
DIE
SPRACHE
PL/SQL
7
DIE
BLOCKSTRUKTUR
UND
SYNTAX
VON
PL/SQL
233
7.1
DAS
GRUNDGERUEST:
DER
PL/SQL-BLOCK
.
234
7.1.1
DEKLARATION
VON
VARIABLEN
.
238
7.1.2
SCHACHTELUNG
VON
BLOECKEN
ZUR
FEHLERBEHANDLUNG
.
240
7.1.3
GUELTIGKEITSBEREICH
VON
VARIABLEN
.
241
7.2
PROZEDUREN
.
241
7.2.1
PROZEDUREN
MIT
PARAMETERN
.
245
7.2.2
FORMEN
DER
PARAMETERZUWEISUNG
.
251
7.2.3
OPTIONALE
PARAMETER
.
252
7.2.4
BELIEBIG
VIELE
PARAMETER
AN
EINE
METHODE
UEBERGEBEN
.
256
7.3
FUNKTIONEN
.
257
7.4
DATENBANKTRIGGER
.
261
7.5
PACKAGES
.
262
7.5.1
PACKAGE-SPEZIFIKATION
.
263
7.5.2
PACKAGE-KOERPER
.
264
7.5.3
AUFRUF
VON
PROZEDUREN
UND
METHODEN
IN
PACKAGES
.
267
7.6
AUSFUEHRUNGSRECHTE
VON
PL/SQL-BLOECKEN
.
267
7.7
COMPILER-ANWEISUNGEN
(PRAGMA)
.
270
7.7.1
DIE
AUTONOME
TRANSAKTION
.
271
7.7.2
INITIALISIERUNG
EIGENER
FEHLER
.
272
7.8
BEST
PRACTICES
.
272
8
KONTROLLSTRUKTUREN
275
8.1
AUSWERTENDE
ANWEISUNG
1
(IF
THEN
ELSE-ANWEISUNG)
.
275
8.2
AUSWERTENDE
ANWEISUNG
2
(CASE-ANWEISUNG)
.
277
8.2.1
EINFACHE
CASE-ANWEISUNG
.
277
8.2.2
AUFRUF
DER
CASE-ANWEISUNG
ALS
SQL-AUSDRUCK
.
278
8.2.3
DIE
AUSWERTENDE
CASE-ANWEISUNG
.
279
8.3
EINFACHE
SCHLEIFEN
.
281
8.3.1
BASISSCHLEIFE
(SCHLEIFE)
.
281
8.3.2
ABWEISENDE
SCHLEIFE
1
(FOR-SCHLEIFE)
.
283
8.3.3
ABWEISENDE
SCHLEIFE
2
(WHILE-SCHLEIFE)
.
288
8.3.4
BEST
PRACTICES
.
289
8.4
KONDITIONALE
KOMPILIERUNG
.
292
8.4.1
DIE
AUSWAHLDIREKTIVE
(SELECTION
DIRECTIVE)
.
293
8.4.2
DIE
ABFRAGEDIREKTIVE
(INQUIRY
DIRECTIVE)
.
294
8.4.3
DIE
ERRORDIREKTIVE
(ERROR
DIRECTIVE)
.
297
8.5
AUS
DER
MOTTENKISTE:
KONZEPTE,
DIE
SIE
NICHT
VERWENDEN
SOLLTEN
.
297
8.5.1
LABEL
.
298
8.5.2
CONTINUE
UND
GOTO-ANWEISUNG
.
300
9
DATENTYPEN
IN
PL/SQL
303
9.1
SKALARE
DATENTYPEN
.
303
9.1.1
SQL-DATENTYPEN
.
303
9.1.2
ABWEICHENDE
GROESSEN
VON
PL/SQL-DATENTYPEN
.
306
9.1.3
BASISTYPEN
UND
UNTERTYPEN
IN
PL/SQL
.
307
9.1.4
SQL-DATENTYPEN,
DIE
IN
PL/SQL
NICHT
EXISTIEREN
.
309
9.1.5
PL/SQL-DATENTYPEN,
DIE
IN
SQL
NICHT
EXISTIEREN
.
309
9.1.6
OBJEKTORIENTIERTE
TYPEN
.
309
9.1.7
BENUTZERDEFINIERTE
DATENTYPEN
.
311
9.1.8
ABLEITUNG
VON
VARIABIENTYPEN
AUS
DEM
DATA
DICTIONARY
.
311
9.2
KOLLEKTIONEN
IN
PL/SQL
.
314
9.2.1
RECORD
.
314
9.2.2
ASSOZIATIVE
TABELLEN
.
326
9.2.3
MASSENVERARBEITUNG
MIT
ASSOZIATIVEN
TABELLEN
.
330
9.2.4
VARRAY
ODER
NESTED_TABLE
ALS
ALTERNATIVE
ZU
EINER
ASSOZIATIVEN
TABELLE
.
339
9.3
CURSOR
.
340
10
CURSOR
341
10.1
LEBENSZYKLUS
EINES
CURSORS
.
341
10.1.1
DEKLARATION
EINES
CURSORS
.
341
10.1.2
LESEN
EINES
DATENSATZES
AUS
DEM
CURSOR
.
342
10.1.3
SCHLIESSEN
DES
CURSORS
.
343
10.2
CURSOR-ATTRIBUTE
.
344
10.3
PARAMETRISIERTE
CURSOR
.
347
10.4
MENGENVERARBEITUNG
MIT
BULK
COLLECT
.
349
10.5
KURZFORM:
DIE
CURSOR
FOR-SCHLEIFE
.
351
10.6
IMPLIZITE
VERSUS
EXPLIZITE
CURSOR
.
353
10.6.1
IMPLIZITE
ODER
EXPLIZITE
CURSOR
.
353
10.6.2
IMPLIZITE
ODER
EXPLIZITE
CURSOR-KONTROLLE
.
357
10.7
CURSOR-VARIABLEN
(REF-CURSOR)
.
359
10.7.1
STARKE
CURSOR-VARIABLE
.
360
10.7.2
SCHWACHE
CURSOR-VARIABLE
.
361
10.8
CURSOR-AUSDRUECKE
.
366
10.9
GEMEINSAMER
ZUGRIFF
AUF
DATEN
UEBER
VERTEILTE
CURSOR
.
371
10.10
TABELLENFUNKTIONEN
.
373
10.10.1
WAS
IST
EINE
TABELLENFUNKTION?
.
373
10.10.2
WORKSHOP:
TABELLENFUNKTION
.
375
10.10.3
VERWENDUNG
VON
TABELLENFUNKTIONEN
.
379
10.10.4
WORKSHOP:
ERSTELLUNG
EINER
TABELLENFUNKTION
.
380
10.10.5
POLYMORPHE
TABELLENFUNKTION
.
383
11
EVENTS
IN
DER
DATENBANK:
PROGRAMMIERUNG
VON
TRIGGERN
385
11.1
DML-TRIGGER
.
385
11.1.1
ANWEISUNGS
VERSUS
ZEILENTRIGGER
.
386
11.1.2
DER
TRIGGERKOERPER
.
391
11.1.3
WANN
WIRD
EIN
TRIGGER
AUSGELOEST?
.
392
11.1.4
DAS
MUTATING-TABLE-PROBLEM
.
395
11.1.5
COMPOUND
TRIGGER
.
398
11.1.6
WORKSHOP:
LOESUNG
DES
MUTATING-TABLE-PROBLEMS
MIT
EINEM
COMPOUND
TRIGGER
.
399
11.1.7
CROSS
EDITION
TRIGGER
.
405
11.1.8
BENENNUNGSKONVENTION
VON
TRIGGERN
.
406
11.2
INSTEAD
OF-TRIGGER
.
406
11.3
EINSATZBEREICHE
VON
DML-TRIGGERN
.
409
11.3.1
ERWEITERUNG
DER
DATENKONSISTENZPRUEFUNG
UEBER
CONSTRAINTS
HINAUS
.
409
11.3.2
WORKSHOP:
STATUSAENDERUNGEN
IN
EINER
BESTIMMTEN
REIHENFOLGE
DURCHFUEHREN
.
410
11.3.3
IMPLEMENTIERUNG
EINFACHER
GESCHAEFTSREGELN
.
413
11.3.4
HISTORISIERUNG,
LOGGING
UND
AUDITING
VON
DATEN
.
414
11.3.5
WORKSHOP;
GENERISCHES
LOGGING
.
415
11.3.6
WORKSHOP:
HISTORISIERUNG
VON
DATEN
MIT
EINEM
INSTEAD
.
423
11.4
WANN
SIE
DML-TRIGGER
NICHT
VERWENDEN
SOLLTEN
.
429
11.4.1
AUDITING
MITHILFE
VON
TRIGGERN
.
431
11.4.2
SCHUTZ
DER
DATENINTEGRITAET
.
432
11.5
DATENBANKTRIGGER
.
433
11.5.1
EREIGNISATTRIBUTE
.
434
11.5.2
DATENBANKEREIGNISSE
.
437
11.5.3
BENUTZERBEZOGENE
EREIGNISSE
.
439
11.5.4
DDL-EREIGNISSE
.
443
11.5.5
SYSTEMEREIGNISSE
.
444
11.6
ZUSAMMENFASSUNG
.
445
12
PACKAGES
449
12.1
TRENNUNG
VON
OEFFENTLICHER
UND
PRIVATER
LOGIK
.
449
12.1.1
DEKLARATION
.
450
12.1.2
IMPLEMENTIERUNG
.
452
12.1.3
ZUSAMMENFASSUNG
.
463
12.2
UEBERLADUNG
IN
PACKAGES
.
465
12.2.1
DEKLARATION
.
465
12.2.2
IMPLEMENTIERUNG
.
467
12.2.3
ZUSAMMENFASSUNG
.
470
12.3
AUSFUEHRUNGSRECHTE
VON
PACKAGES
.
471
12.3.1
ROLLEN
UND
BERECHTIGUNGSKONZEPTE
.
473
12.3.2
ERWEITERUNGEN
DES
AUFRUFERRECHTE-BERECHTIGUNGSKONZEPTS
.
474
12.3.3
STEUERUNG
DES
ZUGRIFFS
AUF
EIN
PACKAGE
.
475
12.4
PACKAGES
UND
DIE
DEPENDENCY
CHAIN
.
476
12.5
VERSCHLUESSELUNG
VON
PACKAGE-CODE.
483
12.5.1
DAS
WRAP-UTILITY
.
484
12.5.2
VERWENDUNG
DES
PACKAGES
DBMS_DDL
.
485
12.6
ORACLE-PACKAGES
.
488
12.6.1
DAS
PACKAGE
STANDARD
.
491
12.6.2
WICHTIGE
ORACLE-PACKAGES
.
493
12.7
WORKSHOP:
VERWALTUNG
VON
ANWENDUNGSPARAMETERN
.
501
12.7.1
DAS
PROBLEM
UND
DIE
LOESUNGSIDEE
.
501
12.7.2
VORUEBERLEGUNGEN
ZUR
PARAMETERTABELLE
.
502
12.7.3
DIE
PARAMETERTABELLE
.
504
12.7.4
EINRICHTUNG
DER
PARAMETERTABELLE
UND
DER
ZUGRIFFSRECHTE
.
509
12.7.5
DAS
PARAMETER-PACKAGE
.
511
12.7.6
DAS
PACKAGE
IM
EINSATZ
.
517
13
ERWEITERUNG
VON
SQL
521
13.1
WANN
SQL
ERWEITERT
WERDEN
SOLLTE
.
521
13.1.1
BLEIBEN
SIE
AUF
DEM
AKTUELLEN
WISSENSSTAND
.
522
13.1.2
VORAUSSETZUNGEN
FUER
DIE
ERWEITERUNG
VON
SQL
.
526
13.2
SQL
DURCH
EIGENE
FUNKTIONEN
ERWEITERN
.
527
13.2.1
ANFORDERUNGEN
AN
DEN
PL/SQL-BLOCK
.
528
13.2.2
NEBENWIRKUNGSFREIHEIT
(PURITY)
.
529
13.2.3
OPTIMIZER
HINTS
UND
KLAUSELN
.
529
13.2.4
DAS
PRAGMA
RESTRICT_REFERENCES
.
530
13.2.5
WORKSHOP:
DETERMINISTISCHE
FUNKTION
.
530
13.3
WORKSHOP:
BERECHNUNG
DER
FAKULTAET
.
537
13.3.1
EINSCHRAENKUNG
DER
FAKULTAETSFUNKTION
AUF
DEFINIERTE
WERTE
.
538
13.3.2
ZIELVORGABE
.
540
13.3.3
UND
WAS
IST
MIT
REKURSION?
.
545
13.4
GRUPPENFUNKTIONEN
SELBST
ERSTELLEN
.
547
13.4.1
ARBEITSWEISE
VON
GRUPPENFUNKTIONEN
.
548
13.4.2
WORKSHOP:
ERSTELLUNG
EINER
GRUPPENFUNKTION
.
551
13.4.3
TEST
DER
GRUPPENFUNKTION
.
556
13.4.4
ZUSAMMENFASSUNG
.
558
13.5
WORKSHOP:
CODE-GENERATOR
FUER
GRUPPENFUNKTIONEN
.
558
14
DYNAMISCHES
SQL
571
14.1
DYNAMISCHES
SQL
MITTELS
EXECUTE
IMMEDIATE
.
572
14.1.1
VERWENDUNG
VON
BINDEVARIABLEN
.
573
14.2
DYNAMISCHES
SQL
MIT
CURSOR-VARIABLEN
.
576
14.3
WORKSHOP:
ERSTELLUNG
EINER
PROZEDUR
ALS
SCHNITTSTELLE
ZU
EINEM
EXTERNEN
PROGRAMM
.
576
14.3.1
DIE
AUFGABENSTELLUNG
.
576
14.3.2
DER
LOESUNGSANSATZ
.
577
14.3.3
VORBEREITENDE
ARBEITEN
.
577
14.3.4
DIE
PROZEDUR
FUER
DEN
DATENZUGRIFF
.
578
14.4
DBMS_SQL-PACKAGE
.
581
14.4.1
WORKSHOP:
CODE-GENERATOR
.
584
14.5
SICHERHEIT
BEI
DYNAMISCHEM
SQL
.
597
14.5.1
SQL-INJECTION
UEBER
SUCHPARAMETER
.
597
14.5.2
SQL-INJECTION
UEBER
FORMATANGABEN
.
598
14.5.3
SQL-INJECTION
UEBER
DAS
EINSCHMUGGELN
ZUSAETZLICHER
ANWEISUNGEN
.
599
14.5.4
VERMEIDUNG
VON
SQL-INJECTION
1:
BINDEVARIABLEN
.
600
14.5.5
VERMEIDUNG
VON
SQL-INJECTION
2:
.
600
14.6
SQL-MAKROS.
601
14.6.1
SKALARE
SQL-MAKROS
.
602
14.6.2
TABELLEN-SQL-MAKROS
.
610
14.7
POLYMORPHE
TABELLENFUNKTIONEN
.
615
14.7.1
EIN
ERSTES
BEISPIEL
.
616
14.7.2
BEISPIEL
2:
KONVERTIERUNG
IN
JSON
ODER
XML
.
623
14.7.3
MEHRERE
PTF
IN
EINEM
PACKAGE
.
624
14.7.4
PTF
ZUM
ERZEUGEN
NEUER
ZEILEN
.
625
14.7.5
PTF
UND
DER
EXECUTION
STORE
(XSTORE)
.
627
15
EXCEPTION
631
15.1
ORACLE-FEHLER
.
631
15.1.1
BENANNTE
FEHLER
.
635
15.1.2
SQLERRM
UND
SQLCODE-FUNKTIONEN
UND
DER
FEHLER-STACK
.
637
15.1.3
NICHT
BENANNTE
FEHLER
BENENNEN
.
645
15.2
APPLIKATIONSFEHLER
ERSTELLEN
UND
BEARBEITEN
.
647
15.2.1
FEHLER
DIREKT
MIT
RAISE_APPLICATION_ERROR
ERZEUGEN
.
647
15.2.2
FEHLER
AUS
EINEM
FEHLER-PACKAGE
ERSTELLEN
LASSEN
.
648
15.2.3
ZENTRALISIERUNG
DER
FEHLERMELDUNGEN
UEBER
IMSGEN
.
650
15.2.4
WORKSHOP:
WRAPPER-PACKAGE
UM
UTLJMS
.
653
15.2.5
ZUSAMMENFASSUNG:
FEHLERMELDUNGEN
MIT
UTLJMS
.
657
15.3
WORKSHOP:
ZENTRALISIERTER
FEHLER-HANDLER
MIT
EINEM
TRIGGER
.
657
15.4
ZUSAMMENFASSUNG.
662
TEIL
III
PL/SQL
IM
EINSATZ
16
ARBEITEN
MIT
LOBS
(LARGE
OBJECTS)
667
16.1
TECHNISCHE
STRUKTUR
.
668
16.1.1
EINSATZ
VON
LOB-DATENTYPEN
IN
DER
DATENBANK
.
668
16.1.2
LOB
ALS
PL/SQL-VARIABLE
.
673
16.1.3
LOB
ALS
METHODENPARAMETER
.
679
16.1.4
SECUREFILES
.
681
16.2
DIE
DATENTYPEN
CLOB,
NCLOB,
BLOB
UND
BFILE
.
683
16.2.1
CLOB
UND
NCLOB
.
683
16.2.2
DER
BINAERE
DATENTYP
BLOB
.
684
16.2.3
BFILE
.
684
16.3
DAS
PACKAGE
DBMS_LOB
.
686
16.3.1
SCHREIBZUGRIFF
AUF
TEMPORAERE
ODER
PERSISTENTE
LOBS
.
687
16.3.2
VERWALTUNG
TEMPORAERER
UND
PERSISTENTER
LOBS
.
689
16.3.3
API
FUER
BFILE-LOB
.
691
16.3.4
ZUGRIFF
AUF
LOBS
DURCH
DIE
ANWENDUNG
.
692
16.4
WORKSHOP:
HILFSFUNKTIONEN
ZUM
ARBEITEN
MIT
LOBS
.
692
17
ARBEITEN
MIT
XML
701
17.1
DER
DATENTYP
XMLTYPE
.
701
17.1.1
VERWENDUNG
VON
XMLTYPE
ALS
TABELLEN
ODER
SPALTENTYP
.
702
17.1.2
XMLTYPE-MEMBER-FUNCTIONS
.
705
17.1.3
UMFORMUNG
VON
XML
MITTELS
XSLT
.
707
17.2
DIE
SPEICHERUNG
VON
XML-DATEN
IN
DER
DATENBANK
.
710
17.3
XML
AUS
RELATIONALEN
DATEN
ERZEUGEN
.
713
17.3.1
DER
SQL/XML-STANDARD
.
714
17.3.2
DAS
PACKAGE
DBMS_XMLGEN.
718
17.4
RELATIONALE
DATEN
AUS
XML
EXTRAHIEREN
.
726
17.4.1
EXTRAKTION
RELATIONALER
DATEN
MIT
XMLTABLE
.
727
17.4.2
EXTRAKTION
RELATIONALER
DATEN
MITTELS
OBJEKTORIENTIERUNG
.
730
17.5
XML
MIT
PL/SQL
VERARBEITEN
.
731
17.5.1
DIE
PROGRAMMIERUNG
MITTELS
DOM-BAUM
.
731
17.5.2
DIE
XML-PACKAGES
.
733
17.6
DIE
XML-DATENBANK
.
743
17.6.1
EINFUEHRUNG
IN
DIE
XML-DATENBANK
.
744
17.6.2
SPEICHERUNG
UND
VEROEFFENTLICHUNG
BINAERER
DOKUMENTE
UND
XML-DOKUMENTE
.
747
17.6.3
DOKUMENTE
UEBER
XDB
VERWALTEN
.
750
17.6.4
ZUGRIFFSSCHUTZ
UND
SICHERHEIT
VON
XDB
.
759
17.6.5
VERSIONIERUNG
VON
RESSOURCEN
.
765
18
ARBEITEN
MIT
JSON
769
18.1
JSON
.
769
18.1.1
UEBERBLICK:
WAS
IST
JSON?.
769
18.1.2
DER
DATENTYP
JSON
.
772
18.1.3
DER
DATENTYP
JSON
(REVISITED)
.
774
18.1.4
ABFRAGEN
GEGEN
JSON-INSTANZEN
.
775
18.1.5
JSON
DATA
GUIDE
.
777
18.2
PROGRAMMIERUNG
VON
JSON
MIT
PL/SQL
.
780
18.2.1
UEBERSICHT
UEBER
DIE
PL/SQL-JSON-TYPEN
.
781
18.2.2
OBJEKTMETHODEN
.
782
18.2.3
MANIPULATION
MITTELS
APEX-PACKAGES
.
785
18.3
SODA
(SIMPLE
ORACLE
DOCUMENT
ACCESS)
.
789
183.1
SODA-KOLLEKTION
.
791
183.2
SODA-OPERATIONEN
.
794
1833
SODA-DOKUMENT
.
796
183.4
SODA
UND
TRANSAKTIONEN
.
797
19
OBJEKTORIENTIERUNG
801
19.1
EINFUEHRUNG
IN
DIE
OBJEKTORIENTIERUNG
.
803
19.1.1
ALLES
IST
EIN
OBJEKT
.
804
19.1.2
DAS
ZWEITE
REIZWORT:
VERERBUNG!
.
806
19.13
ABSTRAKTE
UND
FINALE
KLASSEN
.
807
19.1.4
STATISCHE
METHODEN
.
808
19.1.5
OBJEKTIDENTITAET
VERSUS
STATEMENT
OF
TRUTH
.
808
19.1.6
KLASSEN
HABEN
KOMPLEXE
STRUKTUREN
.
810
19.1.7
AUSWIRKUNGEN
AUF
DIE
DATENBANKPROGRAMMIERUNG
.
812
19.2
OBJEKTORIENTIERTE
DATENTYPEN
.
815
19.2.1
OBJECT
.
815
19.2.2
VARRAY
.
816
19.23
NESTED
TABLE
.
819
19.2.4
VERGLEICHE
VON
KOLLEKTIONEN
.
820
19.2.5
METHODEN
VON
KOLLEKTIONSTYPEN
.
821
19.2.6
WORKSHOP:
LISTE
VON
WERTEN
UEBERGEBEN
.
823
19.3
OBJEKTORIENTIERTE
DATENMODELLE
.
826
19.4
WORKSHOP:
DER
DATENTYP
MONEYTYPE
.
830
19.4.1
VORUEBERLEGUNGEN
.
830
19.4.2
IMPLEMENTIERUNG
DES
TYPS
MONEYTYPE
.
831
19.4.3
DER
TYPKOERPER
.
833
19.4.4
IMPLEMENTIERUNG
DES
PACKAGES
MONEYTYPE_PKG
.
836
19.4.5
DER
PACKAGE-KOERPER
.
837
19.4.6
DIE
RECHTESITUATION
AB
VERSION
11G
.
846
19.4.7
ERWEITERUNG
DURCH
VERERBUNG
.
849
19.5
OBJEKTORIENTIERTE
ANWENDUNGSENTWICKLUNG
UND
RELATIONALE
DATENBANKEN
.
851
19.5.1
DAS
PROBLEM
DES
IMPEDANCE
MISMATCH
.
852
19.5.2
LOESUNGSANSATZ
1:
DIE
VISION
DER
GENERISCHEN
DATENBANK
.
862
19.5.3
LOESUNGSANSATZ
2:
OBJEKTRELATIONALE
MAPPING-WERKZEUGE
.
869
19.5.4
LOESUNGSANSATZ
3:
DAS
SMART-DATABASE-PARADIGMA
.
872
20
INTEGRATION
VON
ORACLE
IN
APPLIKATIONEN
881
20.1
SPERRUNG
VON
DATEN
BEI
DER
DATENAENDERUNG
.
882
20.1.1
TRANSAKTIONSSCHUTZ
INNERHALB
DER
DATENBANK
.
882
20.1.2
ERWEITERTER
FOKUS:
DATENSICHERUNG
IM
UMFELD
VON
ANWENDUNGEN
.
883
20.1.3
PESSIMISTISCHES
LOCKING
.
884
20.1.4
OPTIMISTISCHES
SPERREN
.
889
20.1.5
KOMBINATION
AUS
OPTIMISTISCHEM
UND
PESSIMISTISCHEM
SPERREN
.
897
20.1.6
DATABASE-CHANGE-NOTIFICATION-BASIERTES
LOCKING
.
899
20.2
SPEICHERUNG
VON
SESSION-INFORMATIONEN
.
901
20.2.1
GRUNDLAGEN
EINES
KONTEXTES
.
902
20.2.2
SESSION-KONTEXT
.
903
20.2.3
GLOBALLY
ACCESSED
CONTEXT
.
905
20.2.4
WORKSHOP:
PACKAGE
ZUR
VERWALTUNG
VON
KONTEXTEN
.
908
20.3
ZUGRIFF
AUF
DATEN
UEBER
PL/SQL-PACKAGES
.
920
20.3.1
KAPSELUNG
VON
DML-OPERATIONEN
IN
PACKAGES
.
921
20.3.2
VERMEIDUNG
VON
TRIGGERN
DURCH
PACKAGES
.
922
20.3.3
INTEGRATION
DATENBEZOGENER
GESCHAEFTSREGELN
.
923
20.4
WORKSHOP:
KEIMZELLE
EINER
SICHEREN
DATENBANKANWENDUNG
.
924
20.4.1
DAS
PROJEKT
.
924
20.4.2
UEBERSICHT
UEBER
DIE
ARCHITEKTUR
.
924
20.4.3
DIE
IOGON-PROZEDUR
.
927
20.4.4
AUFSETZEN
DER
SCHEMATA
.
928
20.4.5
DIE
PACKAGES
.
934
20.4.6
TEST
DER
ARCHITEKTUR
.
940
20.4.7
ZUSAMMENFASSUNG
UND
AUSBLICK
.
942
21
PERFORMANCE-TUNING
UND
CODEANALYSE
945
21.1
REGELN
ZUR
PERFORMANCE-OPTIMIERUNG
.
946
21.1.1
NUTZEN
SIE
SQL,
FALLS
DIES
MOEGLICH
IST
.
946
21.1.2
BETRACHTEN
SIE
DIE
DATENBANK
ALS
ENTFERNTE
RESSOURCE
.
949
21.1.3
BENUTZEN
SIE
BINDEVARIABLEN
.
949
21.1.4
ARBEITEN
SIE
MENGENORIENTIERT
.
950
21.1.5
BEREITEN
SIE
DIE
DATEN
VOR
DER
PROGRAMMIERUNG
OPTIMAL
VOR
.
951
21.1.6
ARBEITEN
SIE
SICH
IN
DIE
GRUNDKONZEPTE
DER
DATENBANK
EIN
.
951
21.1.7
NUTZEN
SIE
PL/SQL
BIS
ZUR
NEIGE
.
952
21.1.8
KONTROLLIEREN
SIE
DEN
SPEICHERVERBRAUCH
.
953
21.1.9
GLAUBEN
SIE
NICHT
AN
WUNDER
.
953
21.1.10
SALVATORISCHE
KLAUSEL
.
954
21.2
OPTIMIERUNGSMOEGLICHKEITEN
VON
PL/SQL
.
955
21.2.1
AUTOMATISIERTE
CODEOPTIMIERUNG
.
955
21.2.2
SUBPROGRAM-INLINING
.
956
21.2.3
NATIVE
KOMPILIERUNG
.
957
21.2.4
CACHING
.
960
21.2.5
FEINGRANULARE
ABHAENGIGKEITSVERWALTUNG
.
969
21.3
COMPILER-WARNUNGEN
.
969
21.4
PL/SCOPE.
973
21.4.1
WELCHE
INFORMATION
BIETET
PL/SCOPE?
.
974
21.4.2
DIE
VIEW
USERJDENTIFIERS
.
976
21.4.3
DIE
VIEW
USER_STATEMENTS
.
978
21.4.4
ADMINISTRATION
VON
PL/SCOPE
.
980
21.5
PL/SQL
HIERARCHICAL
PROFILER
.
980
21.5.1
DER
HIERARCHISCHE
PROFILER
IM
SQL
DEVELOPER
.
981
21.5.2
VORAUSSETZUNGEN
FUER
DEN
EINSATZ
DES
HIERARCHISCHEN
PROFILERS
.
983
21.5.3
DAS
PACKAGE
DBMS_HPROF
.
984
21.5.4
DIE
ANALYSE
.
986
21.5.5
EIN
ETWAS
REALITAETSNAEHERES
BEISPIEL
.
988
21.5.6
UMGEHUNG
DER
LIMITIERUNGEN
.
992
21.5.7
OPTIONEN
DER
FUNKTION
DBMS_HPROF.ANALYZE
.
998
21.6
DEN
SPEICHERVERBRAUCH
VON
PL/SQL
UEBERWACHEN
.
999
21.6.1
DIE
SPEICHERVERWALTUNG
VON
PL/SQL
.
1000
21.6.2
UEBERWACHUNG
DES
ARBEITSSPEICHERS
.
1001
22
WORKSHOP:
PL/SQL
INSTRUMENTATION
TOOLKIT
(PIT)
1003
22.1
UEBERBLICK:
DIE
IDEE
UND
DIE
ARCHITEKTUR
.
1003
22.1.1
FUNKTIONSUMFANG
.
1005
22.1.2
ANWENDUNGSBEISPIEL
.
1006
22.1.3
DIE
BETEILIGTEN
KOMPONENTEN
.
1009
22.1.4
IDEE
UND
ARBEITSWEISE
.
1010
22.2
BESCHREIBUNG
DER
EINZELNEN
KOMPONENTEN
.
1012
22.2.1
MELDUNG
.
1013
22.2.2
CALL-STACK
.
1017
22.2.3
KONTEXT
.
1021
22.2.4
ADAPTER
.
1024
22.2.5
DAS
PACKAGE
MSG
.
1026
22.2.6
AUSGABEMODUL
.
1027
22.2.7
DIE
PIT-API
.
1029
22.2.8
INTERNATIONALISIERUNG
.
1031
22.2.9
DIE
ZENTRALE
KOMPONENTE
PITJNTERNAL
.
1033
22.2.10
EIN
KONKRETES
AUSGABEMODUL
.
1039
22.3
IMPLEMENTIERUNG
DES
.
1047
22.3.1
FUNKTIONSUEBERBLICK
UND
IMPLEMENTIERUNGSSTRATEGIE
.
1047
22.3.2
IMPLEMENTIERUNGSDETAILS
.
1050
22.4
WEITERE
AUSGABEMODULE
.
1055
22.4.1
AUSGABE
IN
EIGENE
FEHLERDATEIEN
.
1055
22.4.2
AUSGABE
IN
APEX
.
1057
22.4.3
AUSGABE
IN
ALERT-LOG-ODER
TRACE-DATEIEN
.
1060
22.4.4 AUSGABE
IN
LOGGING-TABELLEN
.
1062
22.4.5
MELDUNG
ALS
E-MAIL
VERSENDEN
.
1062
22.4.6
MELDUNGEN
IN
JMS
INTEGRIEREN
.
1064
INDEX
.
1071 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Sieben, Jürgen 1965- |
author_GND | (DE-588)1017060401 |
author_facet | Sieben, Jürgen 1965- |
author_role | aut |
author_sort | Sieben, Jürgen 1965- |
author_variant | j s js |
building | Verbundindex |
bvnumber | BV049365128 |
classification_rvk | ST 271 |
ctrlnum | (OCoLC)1396993151 (DE-599)DNB1289655707 |
dewey-full | 005.7565 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.7565 |
dewey-search | 005.7565 |
dewey-sort | 15.7565 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
discipline_str_mv | Informatik |
edition | 4., aktualisierte Auflage |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a22000008c 4500</leader><controlfield tag="001">BV049365128</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20240430</controlfield><controlfield tag="007">t|</controlfield><controlfield tag="008">231013s2023 gw |||| 00||| ger d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">23,N21</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">1289655707</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783836296304</subfield><subfield code="c">: EUR 89.90 (DE), EUR 92.50 (AT), CHF 115.90 (freier Preis)</subfield><subfield code="9">978-3-8362-9630-4</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3836296306</subfield><subfield code="9">3-8362-9630-6</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9783836296304</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1396993151</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB1289655707</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">XA-DE-NW</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-1050</subfield><subfield code="a">DE-523</subfield><subfield code="a">DE-92</subfield><subfield code="a">DE-1051</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-19</subfield><subfield code="a">DE-859</subfield><subfield code="a">DE-860</subfield><subfield code="a">DE-20</subfield><subfield code="a">DE-573</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.7565</subfield><subfield code="2">23/ger</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 271</subfield><subfield code="0">(DE-625)143639:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="8">1\p</subfield><subfield code="a">004</subfield><subfield code="2">23sdnb</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Sieben, Jürgen</subfield><subfield code="d">1965-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1017060401</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Oracle PL/SQL</subfield><subfield code="b">das umfassende Handbuch</subfield><subfield code="c">Jürgen Sieben</subfield></datafield><datafield tag="246" ind1="1" ind2="3"><subfield code="a">Oracle PL, SQL</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">4., aktualisierte Auflage</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Bonn</subfield><subfield code="b">Rheinwerk Verlag</subfield><subfield code="c">2023</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1090 Seiten</subfield><subfield code="c">24 cm x 16.8 cm</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Rheinwerk Computing</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">ORACLE 23c</subfield><subfield code="0">(DE-588)1321269862</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">PL/SQL</subfield><subfield code="0">(DE-588)4457669-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">ORACLE 21c</subfield><subfield code="0">(DE-588)1321269714</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">ORACLE 19c</subfield><subfield code="0">(DE-588)123100813X</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Oracle 19c 21c</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Datenbanken programmieren</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">plsql</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Dynamisches SQL</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Trigger</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Datenbank erstellen</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Datenbank-Administration</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Hand-Buch E-Book lernen Grundlagen Kurs Tipps Workshop Wissen Anleitung Training Ausbildung Schulung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">XML OOP</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Programmiersprache Oracle</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Developer Tutorial</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">ORACLE 23c</subfield><subfield code="0">(DE-588)1321269862</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">ORACLE 21c</subfield><subfield code="0">(DE-588)1321269714</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">ORACLE 19c</subfield><subfield code="0">(DE-588)123100813X</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="3"><subfield code="a">PL/SQL</subfield><subfield code="0">(DE-588)4457669-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="710" ind1="2" ind2=" "><subfield code="a">Rheinwerk Verlag</subfield><subfield code="0">(DE-588)1081738405</subfield><subfield code="4">pbl</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">X:MVB</subfield><subfield code="q">text/html</subfield><subfield code="u">http://deposit.dnb.de/cgi-bin/dokserv?id=ced1a6bdabf041b09657566652607eac&prov=M&dok_var=1&dok_ext=htm</subfield><subfield code="3">Inhaltstext</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">DNB Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=034625214&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">vlb</subfield><subfield code="d">20230517</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#vlb</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-034625214</subfield></datafield></record></collection> |
id | DE-604.BV049365128 |
illustrated | Not Illustrated |
index_date | 2024-07-03T22:52:59Z |
indexdate | 2024-11-21T17:02:04Z |
institution | BVB |
institution_GND | (DE-588)1081738405 |
isbn | 9783836296304 3836296306 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-034625214 |
oclc_num | 1396993151 |
open_access_boolean | |
owner | DE-1050 DE-523 DE-92 DE-1051 DE-29T DE-19 DE-BY-UBM DE-859 DE-860 DE-20 DE-573 |
owner_facet | DE-1050 DE-523 DE-92 DE-1051 DE-29T DE-19 DE-BY-UBM DE-859 DE-860 DE-20 DE-573 |
physical | 1090 Seiten 24 cm x 16.8 cm |
publishDate | 2023 |
publishDateSearch | 2023 |
publishDateSort | 2023 |
publisher | Rheinwerk Verlag |
record_format | marc |
series2 | Rheinwerk Computing |
spelling | Sieben, Jürgen 1965- Verfasser (DE-588)1017060401 aut Oracle PL/SQL das umfassende Handbuch Jürgen Sieben Oracle PL, SQL 4., aktualisierte Auflage Bonn Rheinwerk Verlag 2023 1090 Seiten 24 cm x 16.8 cm txt rdacontent n rdamedia nc rdacarrier Rheinwerk Computing ORACLE 23c (DE-588)1321269862 gnd rswk-swf PL/SQL (DE-588)4457669-9 gnd rswk-swf ORACLE 21c (DE-588)1321269714 gnd rswk-swf ORACLE 19c (DE-588)123100813X gnd rswk-swf Oracle 19c 21c Datenbanken programmieren plsql Dynamisches SQL Trigger Datenbank erstellen Datenbank-Administration Hand-Buch E-Book lernen Grundlagen Kurs Tipps Workshop Wissen Anleitung Training Ausbildung Schulung XML OOP Programmiersprache Oracle Developer Tutorial ORACLE 23c (DE-588)1321269862 s ORACLE 21c (DE-588)1321269714 s ORACLE 19c (DE-588)123100813X s PL/SQL (DE-588)4457669-9 s DE-604 Rheinwerk Verlag (DE-588)1081738405 pbl X:MVB text/html http://deposit.dnb.de/cgi-bin/dokserv?id=ced1a6bdabf041b09657566652607eac&prov=M&dok_var=1&dok_ext=htm Inhaltstext DNB Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=034625214&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p vlb 20230517 DE-101 https://d-nb.info/provenance/plan#vlb |
spellingShingle | Sieben, Jürgen 1965- Oracle PL/SQL das umfassende Handbuch ORACLE 23c (DE-588)1321269862 gnd PL/SQL (DE-588)4457669-9 gnd ORACLE 21c (DE-588)1321269714 gnd ORACLE 19c (DE-588)123100813X gnd |
subject_GND | (DE-588)1321269862 (DE-588)4457669-9 (DE-588)1321269714 (DE-588)123100813X |
title | Oracle PL/SQL das umfassende Handbuch |
title_alt | Oracle PL, SQL |
title_auth | Oracle PL/SQL das umfassende Handbuch |
title_exact_search | Oracle PL/SQL das umfassende Handbuch |
title_exact_search_txtP | Oracle PL/SQL das umfassende Handbuch |
title_full | Oracle PL/SQL das umfassende Handbuch Jürgen Sieben |
title_fullStr | Oracle PL/SQL das umfassende Handbuch Jürgen Sieben |
title_full_unstemmed | Oracle PL/SQL das umfassende Handbuch Jürgen Sieben |
title_short | Oracle PL/SQL |
title_sort | oracle pl sql das umfassende handbuch |
title_sub | das umfassende Handbuch |
topic | ORACLE 23c (DE-588)1321269862 gnd PL/SQL (DE-588)4457669-9 gnd ORACLE 21c (DE-588)1321269714 gnd ORACLE 19c (DE-588)123100813X gnd |
topic_facet | ORACLE 23c PL/SQL ORACLE 21c ORACLE 19c |
url | http://deposit.dnb.de/cgi-bin/dokserv?id=ced1a6bdabf041b09657566652607eac&prov=M&dok_var=1&dok_ext=htm http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=034625214&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT siebenjurgen oracleplsqldasumfassendehandbuch AT rheinwerkverlag oracleplsqldasumfassendehandbuch AT siebenjurgen oracleplsql AT rheinwerkverlag oracleplsql |