: Marco Skulschus, Marcus Wiederstein
: Oracle PL/SQL
: Comelio GmbH
: 9783939701460
: 1
: CHF 26.60
:
: Programmiersprachen
: German
: 522
: DRM
: PC/MAC/eReader/Tablet
: PDF
Die SQL-Erweiterung PL/SQL der Oracle 10g/11g-Datenbank bietet eine umfangreiche Syntax für die Entwicklung von programmierbaren DB-Objekten wie Prozeduren/Funktionen und Triggern. So kann man vollständige datenbanknahe Anwendungen direkt in der Datenbank entwickeln und ihre Module in anderen Anwendungen, die in Java, .NET oder auch PHP geschrieben sind, wieder integrieren. Dieses Buch bietet Einsteigern einen umfassenden Überblick über die PL/SQL-Syntax und ihre Fähigkeiten.
<
Inhaltsverzeichnis6
Vorwort13
1. Einführung20
1. 1. Beispieldatenbank20
1. 1. 1. Entitäten20
1. 1. 2. Szenario21
1. 1. 3. Tabellen und Beziehungen25
1. 2. Einrichtung der Umgebung27
1. 2. 1. Oracle Database 10g Express Edition27
1. 2. 2. Entwicklungsumgebung31
1. 2. 2. 1 Oracle SQL Developer31
1. 2. 2. 2 Oracle SQL Developer Data Modeler33
1. 3. Einrichtung der Beispiel-Datenbank34
1. 3. 1. Dateien34
1. 3. 2. Tabellen und Daten aufspielen35
2. Einführung in PL/SQL39
2. 1. Wozu überhaupt PL/SQL?39
2. 1. 1. SQL- und PL/SQL-Variante eines Datenzugriffs39
2. 1. 2. Architektur von PL/SQL-Anwendungen42
2. 2. Die Struktur von PL/SQL46
2. 2. 1. Schreibweise und Benennungskonventionen für Variablen46
2. 2. 2. Blockstruktur48
2. 2. 3. Einsatzbereiche von PL/SQL50
2. 2. 4. Guter Programmierstil: Kommentare und Formatierungen52
3. Grundlegende Syntaxvorstellung58
3. 1. Basis-Syntax58
3. 1. 1. Gültige Zeichenmenge58
3. 1. 2. Literale59
3. 1. 2. 1 Literale: Anführungszeichen60
3. 1. 2. 2 Literale: Boolesche Werte61
3. 1. 2. 3 Literale: Zahlen62
3. 2. Variablen63
3. 2. 1. Deklaration64
3. 2. 2. Verwendung von %TYPE65
3. 2. 3. Vererbung von Datentypen66
3. 2. 4. Gültigkeit und Sichtbarkeit66
3. 3. Datentypen und Operatoren70
3. 3. 1. Oracle- und PL/SQL-Datentypen71
3. 3. 2. Subtypen – Eigene Datentypen73
3. 3. 3. Automatische und explizite Typumwandlung75
3. 3. 4. Operatoren79
3. 4. Ausgabemöglichkeiten im Puffer und in Dateien82
3. 4. 1. Puffer-Ausgaben mit DBMS_OUTPUT82
3. 4. 2. Datei-Ausgaben mit UTL_FILE87
3. 4. 2. 1 Einrichten eines Verzeichnisses88
3. 4. 2. 2 In Dateien schreiben und aus Dateien lesen90
3. 4. 3. Ausnahmen des UTL_FILE-Pakets95
3. 4. 4. Textformatierungen und Ersetzungen96
3. 5. Verzweigungen99
3. 5. 1. IF-Verzweigung100
3. 5. 2. IF-ELSE-Verzweigung101
3. 5. 3. IF-ELSIF-ELSE-Verzweigung102
3. 5. 4. CASE mit einzelnem Selektor103
3. 5. 5. Ausnahmen bei CASE104
3. 5. 6. Selektorlose CASE-Anweisung105
3. 5. 7. Programmmuster bei Verzweigungen106
3. 6. Schleifen107
3. 6. 1. LOOP – Einfache Schleife107
3. 6. 2. Schleifensteuerung mit EXIT und CONTINUE108
3. 6. 3. Verschachtelte Schleifenkonstruktionen mit Labeln109
3. 6. 4. WHILE-Schleife111
3. 6. 5. Numerische FOR-Schleife113
3. 7. Weitere Anweisungen115
3. 7. 1. GOTO-Strukturen mit Labeln115
3. 7. 1. 1 Beispiel116
3. 7. 1. 2 Nutzung mit Schaltvariablen119
3. 7. 2. NULL im Anweisungsabschnitt123
3. 8. Datensätze und %RECORD124
3. 9. Vorteile bei der Verwendung125
3. 9. 1. Definition eines Datensatztyps126
3. 9. 2. Verwendung von Datensätzen128
3. 9. 3. Datensatz-Erzeugung mit %ROWTYPE131
4. Transaktionssteuerung134
4. 1. SQL in PL/SQL134
4. 1. 1. Zulässigkeit von Anweisungen134
4. 1. 2. Dynamisches SQL135
4. 2. Kontextwechsel137
4. 2. 1. Grundprinzip138
4. 2. 2. Zugriffe über DB-Links141
4. 2. 3. Einsatz von Synonymen142
4. 2. 4. Aufruf von Pseudospalten143
4. 3. Steuerung von Transaktionen148
4. 3. 1. Grundproblem148
4. 3. 2. Bestätigen und zurücksetzen von Anweisungen150
4. 3. 3. Sicherungspunkte154
4. 3. 4. Transaktionen festlegen158
4. 3. 5. Tabellen sperren160
5. Cursor und Mengen164
5. 1. Prinzip von Cursorn164
5. 1. 1. Erzeugen und verarbeiten164
5. 1. 2. Cursor-Operationen166
5. 2. Explizite Cursor167
5. 2. 1. Deklaration167
5. 2. 2. Verarbeitung169
5. 2. 3. Cursor-Schleifen und Cursor-Attribute173
5. 2. 4. Parametrisierte Cursor und Wertzuweisungen178
5. 3. Implizite Cursor180
5. 3. 1. Definition180
5. 3. 2. Attribute182
5. 3. 3. Beispiel183