Oracle Database 11g: PL/SQL-Grundlagen



Ähnliche Dokumente
Oracle PL/SQL und Datenbankprogrammierung - LVC

Oracle Database 11g: SQL- Grundlagen II Fortgeschrittene SQL-Anweisungen

CARL HANSER VERLAG. Christopher Allen. Oracle PL/SQL für Einsteiger Der Einsatz von SQL und PL/SQL in der Oracle-Datenbank

Oracle PL/SQL - Grundlagen

Oracle Datenbankprogrammierung mit PL/SQL Grundlagen

Oracle PL/SQL Marco Skulschus Marcus Wiederstein

Arbeit mit zusammengesetzten Datentypen

O REILLY. Oracle PL/SQL Programmierung Paris - - Steven Feuerstein. mit Bill Pribyl. Deutsche Übersetzung von Dorothea Reder 2.

Oracle Database 10g PL/SQL Programmierung

Oracle Database 11g: PL/SQL und Datenbankprogrammierung Release 2

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

Explizite Cursor. Cursor. Steuerung des expliziten Cursors. Explizite Cursor Funktionen

Professioneller Einstieg in Oracle Database 11g SQL

PL/SQL. Deklaration von Variablen. Inhalt. PL/SQL Block Struktur. PL/SQL Block Struktur

Einführung in PL/SQL

Zusammengesetzte Datentypen

Ausnahmebehandlung. Ausnahmebehandlung mit PL/SQL. Ausnahmetypen. Ausnahmebehandlung

Oracle Database 1Og PL/SQL- Programmierung

Oracle Database: Program with PL/SQL

Prozedurale SQL-Erweiterungen

Oracle SQL. Seminarunterlage. Version vom

Oracle Database 10g PL/SQL Programmierung

Einführung in PL/SQL

Vorwort 11. Eine neue Datenbank erstellen 79;

Inhaltsverzeichnis Einleitung xi Kapitel 1: Die Vorbereitung aufs Abenteuer

Oracle Datenbankprogrammierung mit PL/SQL Aufbau

Steuerungsstrukturen. Ablaufsteuerung der PL/SQL Ausführung. IF Anweisungen. Einfaches IF

PL/SQL - Einführung. Prof. Dr. T. Kudraß 1

2 Anlegen und Konfigurieren von Datenbanken 35

Oracle Database 11g: Professioneller Einstieg in SQL Release 2 (Deutsch)

Objektorientierung in Oracle

Inhaltsverzeichnis. Inhalt. 1 Einführung in die Datenbanktechnologie

JavaScript O'REILLY. Das umfassende Referenzwerk. Deutsche Übersetzung von Ralf Kuhnert, Gisbert W. Selke & Harald Selke

Oracle Database: Program with PL/SQL

Inhaltsverzeichnis. 1 Hallo 13

... Trigger - Fehlersuche (Debugging)

Gregor Kuhlmann Friedrich Müllmerstadt. MySQL. Der Schlüssel zu Datenbanken-Design und -Programmierung. c 3 E. i- O Rowohlt Taschenbuch Verlag

Inhaltsverzeichnis. Vorwort 13

Inhaltsverzeichnis. Einleitung

Vorbereitungen zum 3. Praktikum (PL/SQL):

[ SQL] Wissen, das sich auszahlt

Inhaltsverzeichnis. 1 Der SQL Server 2008 stellt sich vor Die grafischen Tools des SQL Server Eine neue Datenbank erstellen 87

Richtig einsteigen: Access 2007 VBA-Programmierung

Prakt. Datenbankprogrammierung. Sommersemester 2005

Oracle Database 12c: Program with PL /SQL

Schnellübersichten. SQL Grundlagen und Datenbankdesign

Inhaltsverzeichnis. Teil I Erste Schritte. 1 Einleitung Teil II Grundlagen von VBA. 2 Die ersten VBA-Prozeduren erstellen...

Prozedurale Datenbank- Anwendungsprogrammierung

Erzeugung und Veränderung von Tabellen

Datenbankprogrammierung mit MySQL 5 und PHP 5 Spona

Objekt-relationales Datenbanksystem Oracle

Inhaltsverzeichnis. jetzt lerne ich

Inhalt. Vorwort des Herausgebers Die Sprache OpenOffice.org Basic/StarBasic... 15

Skripte schreiben. Überblick SQL*Plus. Einloggen in SQL*Plus. Tabellenstrukturen anzeigen

Richtig einsteigen: Access 2010 VBA-Programmierung

Perl Programmierung Grundlagen

Begleittext: Einführung in das Programmieren in Java für Nichtinformatiker

S4D400. Einführung in die ABAP-Programmierung für SAP S/4HANA GLIEDERUNG DES KURSES. Version der Schulung: 10 Dauer der Schulung:

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Handbuch für die Programmierung mit LabVIEW

Oracle Database: Introduction to SQL

jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss

Thomas Theis PHP4. Webserver-Programmierung für Um- und Einsteiger. Galileo Press

Oracle Database 12c: Introduction to SQL (ORA-D80174)

Neue Welten: Externe Daten mit APEX nutzen

Kapitel 4 Dynamisches SQL

2.1 Visual C Express installieren Visual C Express starten Visual C Express registrieren...

Beck EDV-Berater VBA. Visual Basic for Applications Programmieren unter Office XP. 2., neu bearbeitete Auflage

SQL Server 2005 Der schnelle Einstieg

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum:

Inhaltsverzeichnis. Kapitel i: Schnelleinstieg 13. Kapitel 2: Was sind Programme? 17. Kapitel 3: Wie erstellt man eigene Programme?

Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über dnb.dnb.de. Cover-Design: Michael Pastofski

BC402. Advanced ABAP GLIEDERUNG DES KURSES. Version der Schulung: 16 Dauer der Schulung: 5 Tage

Windows Server 2012 Technische Daten zur Virtualisierung

Ekkehard Kaier. Informationstechnische Grundbildung Turbo Pascal

jetzt lerne ich Der einfache Einstieg in Object Pascal Für alle Versionen bis einschließlich Delphi 2006 THOMAS BINZINGER


Thomas Binzinger. Jetzt lerne ich. Delphi. Markt+Technik Verlag

PL/SQL-Code mit APEX generieren

Prozeduren und Trigger in Datenbanken

Vor- und Nachteile speicheroptimierter Tabellen

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

Kapitel 9. Embedded SQL. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

SQL mit ORACLE. Wolf-Michael Kahler

Teil A Einführung in Microsoft Visual C# und Microsoft Visual Studio

Transkript:

Oracle Database 11g: PL/SQL-Grundlagen Schulungsunterlagen D49990DE20 Production 2.0 Januar 2010 Bestellnummer: D63765

Autor Brian Pottle Technischer Inhalt und Überarbeitung Tom Best Christoph Burandt Yanti Chang Laszlo Czinkoczki Ashita Dhir Peter Driver Gerlinde Frenzen Nancy Greenberg Chaitanya Kortamaddi Tim Leblanc Bryan Roberts Abhishek X Singh Puja Singh Lex Van Der Werff Copyright 2009, Oracle. All rights reserved. Alle Rechte vorbehalten. Diese Kursunterlagen werden im Rahmen eines Lizenzvertrages zur Verfügung gestellt, der Einschränkungen hinsichtlich Nutzung und Offenlegung enthält und durch Gesetze zum Schutz geistigen Eigentums geschützt ist. Sofern nicht ausdrücklich in Ihrem Lizenzvertrag vereinbart oder gesetzlich geregelt, darf diese Software weder ganz noch teilweise in irgendeiner Form oder durch irgendein Mittel zu irgendeinem Zweck kopiert, reproduziert, übersetzt, gesendet, verändert, lizenziert, übertragen, verteilt, ausgestellt, ausgeführt, veröffentlicht oder angezeigt werden. Die Informationen in diesen Kursunterlagen können jederzeit und ohne vorherige Ankündigung geändert werden. Sollten Sie Fehler oder Unstimmigkeiten in den Unterlagen finden, bitten wir Sie, uns diese schriftlich mitzuteilen. Wir übernehmen keine Gewähr für die Richtigkeit der in diesen Unterlagen enthaltenen Informationen. Wird diese Dokumentation an die Regierung der Vereinigten Staaten von Amerika bzw. einen Nutzer im Auftrag der Regierung der Vereinigten Staaten von Amerika geliefert, gilt Folgendes: U.S. GOVERNMENT RIGHTS The U.S. Government s rights to use, modify, reproduce, release, perform, display, or disclose these training materials are restricted by the terms of the applicable Oracle license agreement and/or the applicable U.S. Government contract. Oracle ist eine eingetragene Marke der Oracle Corporation und/oder ihrer verbundenen Unternehmen. Andere Namen und Bezeichnungen können Marken ihrer jeweiligen Inhaber sein. Grafische Gestaltung Satish Bettegowda Redaktion Vijayalakshmi Narasimhan Daniel Milne Herausgeber Jobi Varghese

Inhalt I Einführung Ziele I-2 Kursziele I-3 Schema "Human Resources" (HR) -für diesen Kurs I-4 Kursagenda I-5 Informationen zu den Kurs-Accounts I-6 In diesem Kurs verwendete Anhänge I-7 PL/SQL-Entwicklungsumgebungen I-8 Was ist Oracle SQL Developer? I-9 PL/SQL in SQL*Plus codieren I-10 PL/SQL in Oracle JDeveloper codieren I-11 Oracle 11g SQL- und PL/SQL-Dokumentation I-12 Zusammenfassung I-13 Übungen zur Einführung Überblick: Erste Schritte I-14 1 Einführung in PL/SQL Ziele 1-2 Agenda 1-3 PL/SQL 1-4 PL/SQL-Laufzeitarchitektur 1-6 PL/SQL Vorteile 1-7 PL/SQL-Blockstruktur 1-10 Agenda 1-12 Blocktypen 1-13 Programmkonstrukte 1-15 Anonyme Blöcke prüfen 1-17 Anonyme Blöcke ausführen 1-18 Agenda 1-19 Ausgaben von PL/SQL-Blöcken ermöglichen 1-20 Ausgabe von PL/SQL-Blöcken anzeigen 1-21 Quiz 1-22 Zusammenfassung 1-23 Übungen zu Lektion 1 Überblick 1-24 iii

2 PL/SQL-Variablen deklarieren Ziele 2-2 Agenda 2-3 Verwendungszwecke von Variablen 2-4 Anforderungen für Variablennamen 2-5 Variablen in PL/SQL 2-6 PL/SQL-Variablen deklarieren und initialisieren 2-7 Begrenzungszeichen in Zeichenfolgenliteralen 2-9 Agenda 2-10 Variablentypen 2-11 PL/SQL-Variablen deklarieren und initialisieren Richtlinien 2-13 PL/SQL-Variablen deklarieren Richtlinien 2-14 Benennungskonventionen der in diesem Kurs verwendeten PL/SQL-Strukturen 2-15 Skalare Datentypen 2-16 Skalare Basisdatentypen 2-17 Skalare Variablen deklarieren 2-21 Attribut %TYPE 2-22 Variablen mit dem Attribut %TYPE deklarieren 2-24 Boolesche Variablen deklarieren 2-25 Variablen mit LOB-Datentypen 2-26 Zusammengesetzte Datentypen Records und Collections 2-27 Agenda 2-28 Bind-Variablen 2-29 Bind-Variablen referenzieren 2-31 AUTOPRINT mit Bind-Variablen 2-32 Quiz 2-33 Zusammenfassung 2-34 Übungen zu Lektion 2 Überblick 2-35 3 Ausführbare Anweisungen erstellen Ziele 3-2 Agenda 3-3 Lexikalische Einheiten in PL/SQL-Blöcken 3-4 PL/SQL-Blocksyntax Richtlinien 3-6 Code kommentieren 3-7 SQL-Funktionen in PL/SQL 3-8 SQL-Funktionen in PL/SQL Beispiele 3-9 Sequences in PL/SQL-Ausdrücken 3-10 Datentypen konvertieren 3-11 Agenda 3-14 iv

Verschachtelte Blöcke 3-15 Verschachtelte Blöcke Beispiel 3-16 Gültigkeitsbereich und Sichtbarkeit von Variablen 3-17 Qualifier mit verschachtelten Blöcken 3-19 Herausforderung Gültigkeitsbereich von Variablen bestimmen 3-20 Agenda 3-22 Operatoren in PL/SQL 3-23 Operatoren in PL/SQL Beispiele 3-24 Richtlinien für die Programmierung 3-25 Code einrücken 3-26 Quiz 3-27 Zusammenfassung 3-28 Übungen zu Lektion 3 Überblick 3-29 4 Mit dem Oracle-Datenbankserver interagieren SQL-Anweisungen in PL/SQL- Programmen Ziele 4-2 Agenda 4-3 SQL-Anweisungen in PL/SQL 4-4 SELECT-Anweisungen in PL/SQL 4-5 Daten in PL/SQL abrufen Beispiel 4-9 Daten in PL/SQL abrufen 4-10 Mehrdeutige Namen 4-11 Benennungskonventionen 4-12 Agenda 4-13 Daten mit PL/SQL bearbeiten 4-14 Daten einfügen Beispiel 4-15 Daten aktualisieren Beispiel 4-16 Daten löschen Beispiel 4-17 Zeilen zusammenführen 4-18 Agenda 4-20 SQL-Cursor 4-21 SQL-Cursorattribute für implizite Cursor 4-23 Quiz 4-25 Zusammenfassung 4-26 Übungen zu Lektion 4 Überblick 4-27 5 Kontrollstrukturen erstellen Ziele 5-2 Ablauf der Ausführung steuern 5-3 Agenda 5-4 v

IF-Anweisungen 5-5 Einfache IF-Anweisungen 5-7 IF THEN ELSE-Anweisungen 5-8 IF ELSIF ELSE-Klauseln 5-9 Wert NULL in Anweisung IF 5-10 Agenda 5-11 CASE-Ausdrücke 5-12 CASE-Ausdrücke Beispiel 5-13 Searched CASE-Ausdrücke 5-14 CASE-Anweisungen 5-15 NULL-Werte verwenden 5-16 Logiktabellen 5-17 Boolesche Ausdrücke oder logische Ausdrücke? 5-18 Agenda 5-19 Iterative Kontrollstrukturen LOOP-Anweisungen 5-20 Basisschleifen 5-21 Basisschleifen Beispiel 5-22 WHILE-Schleifen 5-23 WHILE-Schleifen Beispiel 5-24 FOR-Schleifen 5-25 FOR-Schleifen Beispiel 5-27 FOR-Schleifen Regeln 5-28 Vorschläge zur Verwendung von Schleifen 5-29 Verschachtelte Schleifen und Labels 5-30 Verschachtelte Schleifen und Labels Beispiel 5-31 CONTINUE-Anweisungen in PL/SQL 5-32 CONTINUE-Anweisungen in PL/SQL 1. Beispiel 5-33 CONTINUE-Anweisungen in PL/SQL 2. Beispiel 5-34 Quiz 5-35 Zusammenfassung 5-36 Übungen zu Lektion 5 Überblick 5-37 6 Mit zusammengesetzten Datentypen arbeiten Ziele 6-2 Agenda 6-3 Zusammengesetzte Datentypen 6-4 PL/SQL-Records oder -Collections? 6-6 Agenda 6-7 PL/SQL-Records 6-8 PL/SQL-Records erstellen 6-9 vi

Struktur von PL/SQL-Records 6-10 %ROWTYPE-Attribute 6-11 PL/SQL-Records erstellen Beispiel 6-13 Vorteile bei Verwendung des Attributs %ROWTYPE 6-14 %ROWTYPE-Attribute Weiteres Beispiel 6-15 Records mit %ROWTYPE einfügen 6-16 Zeilen in einer Tabelle mit einem Record aktualisieren 6-17 Agenda 6-18 Assoziative Arrays (Tabelle INDEX BY) 6-19 Struktur von assoziativen Arrays 6-20 Schritte zur Erstellung von assoziativen Arrays 6-21 Assoziative Arrays erstellen und abrufen 6-22 INDEX BY-Tabellenmethoden 6-23 Record-Tabelle INDEX BY 6-24 Record-Tabelle INDEX BY 2. Beispiel 6-25 Nested Tables 6-26 VARRAY 6-28 Collection-Typen Zusammenfassung 6-29 Quiz 6-30 Zusammenfassung 6-31 Übungen zu Lektion 6 Überblick 6-32 7 Explizite Cursor Ziele 7-2 Agenda 7-3 Cursor 7-4 Vorgänge mit expliziten Cursorn 7-5 Explizite Cursor kontrollieren 7-6 Agenda 7-8 Cursor deklarieren 7-9 Cursor öffnen 7-11 Daten aus Cursorn lesen 7-12 Cursor schließen 7-15 Cursor und Records 7-16 Cursor FOR-Schleifen 7-17 Attribute von expliziten Cursorn 7-19 Attribut %ISOPEN 7-20 %ROWCOUNT und %NOTFOUND Beispiel 7-21 Cursor FOR-Schleifen mit Unterabfragen 7-22 Agenda 7-23 vii

Cursor mit Parametern 7-24 Agenda 7-26 FOR UPDATE-Klauseln 7-27 WHERE CURRENT OF-Klauseln 7-29 Quiz 7-30 Zusammenfassung 7-31 Übungen zu Lektion 7 Überblick 7-32 8 Exceptions behandeln Ziele 8-2 Agenda 8-3 Was ist eine Exception? 8-4 Exceptions behandeln Beispiel 8-5 Exceptions mit PL/SQL 8-6 Exceptions behandeln 8-7 Exception-Typen 8-8 Agenda 8-9 Exceptions abfangen Syntax 8-10 Exceptions abfangen Richtlinien 8-12 Vordefinierte Oracle-Serverfehler abfangen 8-13 Nicht vordefinierte Oracle-Serverfehler abfangen 8-16 Nicht vordefinierte Fehler abfangen Beispiel 8-17 Funktionen zum Abfangen von Exceptions 8-18 Benutzerdefinierte Exceptions abfangen 8-20 Exceptions in Unterblöcken propagieren 8-22 Prozedur RAISE_APPLICATION_ERROR 8-23 Quiz 8-26 Zusammenfassung 8-27 Übungen zu Lektion 8 Überblick 8-28 9 Stored Procedures und Stored Functions Einführung Ziele 9-2 Agenda 9-3 Prozeduren und Funktionen 9-4 Anonyme Blöcke und Unterprogramme Unterschiede 9-5 Agenda 9-6 Prozeduren Syntax 9-7 Prozeduren erstellen 9-8 Prozeduren aufrufen 9-10 viii

Agenda 9-11 Funktionen Syntax 9-12 Funktionen erstellen 9-13 Funktionen aufrufen 9-14 Parameter an Funktionen übergeben 9-15 Funktionen mit einem Parameter aufrufen 9-16 Quiz 9-17 Zusammenfassung 9-18 Übungen zu Lektion 9 Überblick 9-19 A Übungen und Lösungen B Tabellenbeschreibungen und -daten C SQL Developer Ziele C-2 Was ist Oracle SQL Developer? C-3 SQL Developer Spezifikationen C-4 SQL Developer Benutzeroberfläche 1.5 C-5 Datenbankverbindungen erstellen C-7 Datenbankobjekte durchsuchen C-10 Tabellenstrukturen anzeigen C-11 Dateien durchsuchen C-12 Schemaobjekte erstellen C-13 Neue Tabellen erstellen Beispiel C-14 SQL Worksheet C-15 SQL-Anweisungen ausführen C-18 SQL-Skripte speichern C-19 Gespeicherte Skriptdateien ausführen 1. Methode C-20 Gespeicherte Skriptdateien ausführen 2. Methode C-21 SQL-Code formatieren C-22 Codeauszüge C-23 Codeauszüge Beispiel C-24 Prozeduren und Funktionen debuggen C-25 Datenbankberichte C-26 Benutzerdefinierte Berichte erstellen C-27 Suchmaschinen und externe Tools C-28 Voreinstellungen festlegen C-29 SQL Developer-Layout zurücksetzen C-30 Zusammenfassung C-31 ix

D SQL*Plus Ziele D-2 SQL und SQL*Plus Interaktion D-3 SQL-Anweisungen und SQL*Plus-Befehle Vergleich D-4 SQL*Plus Überblick D-5 Bei SQL*Plus anmelden D-6 Tabellenstrukturen anzeigen D-7 SQL*Plus-Bearbeitungsbefehle D-9 LIST, n und APPEND D-11 Befehl CHANGE D-12 SQL*Plus-Dateibefehle D-13 Befehle SAVE und START D-14 Befehl SERVEROUTPUT D-15 SQL*Plus-Befehl SPOOL D-16 Befehl AUTOTRACE D-17 Zusammenfassung D-18 E JDeveloper Oracle JDeveloper E-2 Database Navigator E-3 Verbindungen erstellen E-4 Datenbankobjekte durchsuchen E-5 SQL-Anweisungen ausführen E-6 Programmeinheiten erstellen E-7 Kompilieren E-8 Programmeinheiten ausführen E-9 Programmeinheiten löschen E-10 Fenster "Structure" E-11 Editor-Fenster E-12 Application Navigator E-13 Java-Stored Procedures bereitstellen E-14 Java für PL/SQL publizieren E-15 Wie kann ich mehr über JDeveloper 11g erfahren? E-16 F REF-Cursor Cursorvariablen F-2 Cursorvariablen Verwendung F-3 REF CURSOR-Typen definieren F-4 Anweisungen OPEN-FOR, FETCH und CLOSE F-7 Fetch-Vorgang Beispiel F-10 AP Übungen und Lösungen x