Oracle Datenbank 11g: PL/SQL und Datenbankprogrammierung
Seminar
In Frankfurt Am Main und Stuttgart
Beschreibung
-
Kursart
Seminar
-
Niveau
Fortgeschritten
-
Ort
-
Dauer
5 Tage
Dieser Kurs vermittelt folgende Kenntnisse und Fähigkeiten: - Stored Procedures und Stored Functions erstellen und verwenden. - Überladene Package-Unterprogramme für größere Flexibilität erstellen. - Trigger erstellen, um Geschäftsanforderungen gerecht zu werden. - Stored Procedures und Stored Functions beschreiben. - PL/SQL-Features und -Syntax beschreiben. - Anonyme .. Gerichtet an: Datenbankadministratoren. Entwickler. Formsentwickler. PL/SQL-Entwickler. Systemanalytiker. Technischer Berater.
Standorte und Zeitplan
Lage
Beginn
Beginn
Beginn
Hinweise zu diesem Kurs
Empfohlen: Programmiererfahrung
Meinungen
Inhalte
Dieser Kurs vermittelt folgende Kenntnisse und Fähigkeiten:
- Stored Procedures und Stored Functions erstellen und verwenden
- Überladene Package-Unterprogramme für größere Flexibilität erstellen
- Trigger erstellen, um Geschäftsanforderungen gerecht zu werden
- Stored Procedures und Stored Functions beschreiben
- PL/SQL-Features und -Syntax beschreiben
- Anonyme PL/SQL-Blöcke entwerfen, die effizient ausgeführt werden
- PL/SQL-Code für vordefinierte Datentypen, lokale Unterprogramme, zusätzliche PRAGMAs und standardisierte Konstanten und Exceptions konzipieren
- PL/SQL-Packages entwerfen und verwenden, die zusammengehörige Konstrukte gruppieren und enthalten
- Laufzeitfehler behandeln
- Abhängigkeiten zwischen PL/SQL-Unterprogrammen verwalten
- PL/SQL-Programmkonstrukte verwenden sowie Codeabläufe (Schleifen, Kontrollstrukturen und explizite Cursor) mit Bedingungsanweisungen steuern
- Mit Hilfe von Conditional Compilation die Funktionalität in einer PL/SQL-Anwendung ohne Entfernung von Quellcode anpassen
- Mit den von Oracle bereitgestellten PL/SQL-Packages Output auf dem Bildschirm, in Dateien und in E-Mails generieren
- Dynamisches SQL für größere Flexibilität bei der Codierung erstellen
Teilnehmerkreis
Datenbankadministratoren
Entwickler
Formsentwickler
PL/SQL-Entwickler
Systemanalytiker
Technischer Berater
Voraussetzungen
Empfohlen: Programmiererfahrung
Überblick über den Inhalt des Trainings
Dieser Kurs gibt den Teilnehmern eine Einführung in PL/SQL und
unterstützt sie dabei, die Vorteile dieser leistungsstarken
Programmiersprache zu verstehen. Darüber hinaus lernen die
Kursteilnehmer, wie sie Blöcke von PL/SQL-Anwendungscode erstellen, die
von vielen Formular-, Berichts- und Daten-Management-Anwendungen
gemeinsam verwendet werden können. Außerdem lernen sie, anonyme
PL/SQL-Blöcke sowie Stored Procedures und Stored Functions zu
erstellen.
Die Teilnehmer lernen, PL/SQL-Stored Program Units zu entwickeln,
auszuführen und zu verwalten, beispielsweise Prozeduren, Funktionen,
Packages und Datenbank-Trigger. Außerdem lernen die Teilnehmer, wie sie
PL/SQL-Unterprogramme und Trigger verwalten, Identifier deklarieren und
Exceptions abfangen. Den Teilnehmern wird gezeigt, wie sie einige der
von Oracle bereitgestellten Packages verwenden. Die Teilnehmer
entwickeln die Programmeinheiten mit Oracle SQL Developer. SQL*Plus und
JDeveloper werden als optionale Tools eingeführt.
Einführung
- Kursziele
- Kursagenda
- Human Resources-(HR-)Schema beschreiben
- In diesem Kurs verfügbare PL/SQL-Entwicklungsumgebungen
- Einführung in SQL Developer
Einführung in PL/SQL
- PL/SQL - Überblick
- PL/SQL-Unterprogramme - Vorteile
- Typen von PL/SQL-Blöcken - Überblick
- Einfache anonyme Blöcke erstellen und ausführen
- Ausgaben von PL/SQL-Blöcken generieren
PL/SQL-Identifier deklarieren
- Verschiedene Identifier-Typen in PL/SQL-Unterprogrammen
- Identifier im deklarativen Bereich definieren
- Daten in Variablen speichern
- Skalare Datentypen
- %TYPE-Attribut
- Bind-Variablen
- Sequences in PL/SQL-Ausdrücken
Ausführbare Anweisungen erstellen
- Grundlegende Richtlinien für die Syntax von PL/SQL-Blöcken beschreiben
- Code kommentieren
- SQL-Funktionen in PL/SQL
- Datentypen konvertieren
- Verschachtelte Blöcke
- Operatoren in PL/SQL
Mit dem Oracle-Server interagieren
- SELECT-Anweisungen in PL/SQL aufnehmen, um Daten abzurufen
- Daten im Server mit PL/SQL bearbeiten
- SQL-Cursor-Konzept
- Durch SQL-Cursor-Attribute Feedback zu DML erhalten
- Transaktionen speichern und verwerfen
Kontrollstrukturen erstellen
- Bedingte Verarbeitung mit IF-Anweisungen
- Bedingte Verarbeitung mit CASE-Anweisungen
- Einfache LOOP-Anweisungen
- WHILE-Schleifen
- FOR-Schleifen
- CONTINUE-Anweisungen
Zusammengesetzte Datentypen verwenden
- PL/SQL-Records
- %ROWTYPE-Attribut
- Mit PL/SQL-Records einfügen und aktualisieren
- INDEX BY-Tabellen
- INDEX BY-Tabellenmethoden
- INDEX BY-Tabelle mit Records
Explizite Cursor
- Explizite Cursor verstehen
- Cursor deklarieren
- Cursor öffnen
- Daten aus Cursorn lesen
- Cursor schließen
- Cursor FOR-Schleifen
- Attribute von expliziten Cursorn
- FOR UPDATE-Klausel und WHERE CURRENT-Klausel
Exceptions behandeln
- Exceptions verstehen
- Exceptions mit PL/SQL behandeln
- Vordefinierte Oracle-Serverfehler abfangen
- Nicht vordefinierte Oracle-Serverfehler abfangen
- Benutzerdefinierte Exceptions abfangen
- Exceptions propagieren
- Prozeduren RAISE_APPLICATION_ERROR
Stored Procedures erstellen
- Modularisierte Unterprogramme und Unterprogramme mit Schichten erstellen
- Entwicklung mit PL/SQL-Blöcken modularisieren
- PL/SQL-Ausführungsumgebung
- PL/SQL-Unterprogramme - Vorteile
- Anonyme Blöcke und Unterprogramme - Unterschiede
- Stored Procedures mit dem CREATE-Befehl und SQL Developer erstellen, aufrufen und entfernen
- Prozedurparameter und Parametermodi
- Prozedurinformationen mit Data Dictionary Views und SQL Developer anzeigen
Stored Functions erstellen
- Stored Functions mit dem CREATE-Befehl und SQL Developer erstellen, aufrufen und entfernen
- Vorteile von Stored Functions in SQL-Anweisungen angeben
- Schritte zum Erstellen von Stored Functions angeben
- Benutzerdefinierte Funktionen in SQL-Anweisungen
- Einschränkungen beim Aufrufen von Funktionen aus SQL-Anweisungen
- Seiteneffekte beim Aufruf von Funktionen aus SQL-Ausdrücken ausschalten
- Funktionsinformationen anzeigen
Packages erstellen
- Vorteile von Packages auflisten
- Packages beschreiben
- Komponenten eines Packages
- Packages entwickeln
- Sichtbarkeit von Package-Komponenten
- Package-Spezifikation und Package Body mit der SQL-Anweisung CREATE und SQL Developer erstellen
- Package-Konstrukte aufrufen
- PL/SQL-Quellcode mit dem Data Dictionary anzeigen
Mit Packages arbeiten
- Unterprogramme in PL/SQL überladen
- STANDARD Package
- Mit Vorwärtsdeklarationen Probleme mit ungültigen Prozedurreferenzen lösen
- Package-Funktionen in SQL - Verwendung und Einschränkungen
- Persistenter Status von Packages
- Persistenter Status eines Package Cursors
- Seiteneffekte von PL/SQL-Unterprogrammen ausschalten
- PL/SQL-Record-Tabellen in Packages
Von Oracle bereitgestellte Packages zur Anwendungsentwicklung
- Von Oracle bereitgestellte Packages - Beispiele
- Funktionsweise des DBMS_OUTPUT Packages
- Mit dem UTL_FILE Package mit Betriebssystemdateien interagieren
- UTL_MAIL Package
- UTL_MAIL-Unterprogramme
Dynamisches SQL
- Ausführungsablauf von SQL-Anweisungen
- Was ist dynamisches SQL?
- Cursor-Variablen deklarieren
- PL/SQL-Blöcke dynamisch ausführen
- PL/SQL-Code mit nativem dynamischen SQL kompilieren
- DBMS_SQL-Package
- DBMS_SQL mit parametrisierten DML-Anweisungen
- Umfassende Funktionalität von dynamischem SQL
Überlegungen zum Design von PL/SQL-Code
- Konstanten und Exceptions standardisieren
- Lokale Unterprogramme
- Autonome Transaktionen
- NOCOPY-Compiler-Hint
- PARALLEL_ENABLE Hint
- Session-übergreifender Ergebniscache für PL/SQL-Funktionen
- DETERMINISTIC-Klausel und Funktionen
- Mit Bulk Binding die Performance steigern
Trigger erstellen
- Mit Triggern arbeiten
- Trigger-Ereignistypen und Body identifizieren
- Trigger implementieren - Szenarios für Geschäftsanwendungen
- DML-Trigger mit der CREATE TRIGGER-Anweisung und SQL Developer erstellen
- Trigger-Ereignistypen, Body und Ausführungszeitpunkt identifizieren
- Trigger-Ereignistypen, Body und Ausführungszeitpunkt identifizieren
- INSTEAD OF Trigger und deaktivierte Trigger erstellen
- Trigger verwalten, testen und entfernen
Komplexe, DDL- und Datenbankereignis-Trigger erstellen
- Mit komplexen Triggern arbeiten
- Ausführungszeitpunkt-Bereiche von komplexen Triggern für Tabellen identifizieren
- Struktur komplexer Trigger für Tabellen und Views
- Fehler in sich verändernden Tabellen mit komplexen Triggern beheben
- Datenbank-Trigger und Stored Procedures - Vergleich
- Trigger für DDL-Anweisungen erstellen
- Trigger für Datenbankereignisse und Systemereignisse erstellen
- Erforderliche Systemprivilegien zur Trigger-Verwaltung
PL/SQL-Compiler
- PL/SQL-Compiler
- Initialisierungsparameter für PL/SQL-Kompilierung
- Neue PL/SQL-Kompilierungszeitwarnungen
- PL/SQL-Kompilierungszeitwarnungen für Unterprogramme - Überblick
- Vorteile von Compilerwarnungen
- PL/SQL-Kompilierungszeit-Warnmeldungen - Kategorien
- Warnmeldungsstufen einstellen - mit SQL Developer,
PLSQL_WARNINGS-Initialisierungsparameter und DBMS_WARNING
Package-Unterprogrammen - Compilerwarnungen anzeigen - mit SQL Developer, SQL*Plus oder Data Dictionary Views
PL/SQL-Code verwalten
- Was ist Conditional Compilation, und wie funktioniert das Feature?
- Auswahlanweisungen
- Vordefinierte und benutzerdefinierte Abfrageanweisungen
- PLSQL_CCFLAGS-Parameter und Abfrageanweisungen
- Benutzerdefinierte Fehler mit Hilfe von Conditional Compilation-Fehleranweisungen auslösen
- DBMS_DB_VERSION Package
- Quelltext mit DBMS_PREPROCESSOR-Prozeduren ausgeben oder abrufen
- Obfuscation und Wrapping von PL/SQL-Code
Abhängigkeiten verwalten
- Abhängigkeiten von Schemaobjekten - Überblick
- Direkte Objektabhängigkeiten abfragen - USER_DEPENDENCIES View
- Objektstatus abfragen
- Invalidierung abhängiger Objekte
- Direkte und indirekte Abhängigkeiten anzeigen
- Fein granulierte Abhängigkeitsverwaltung in Oracle Database 11g
- Fernabhängigkeiten
- PL/SQL-Programmeinheiten rekompilieren
Oracle Datenbank 11g: PL/SQL und Datenbankprogrammierung