Oracle PL/SQL und Datenbank-programmierung

Kursziele

  • Einfache Prozeduren und Funktionen erstellen
  • Laufzeitfehler behandeln
  • PL/SQL-Programmkonstrukte verwenden sowie Code-Abläufe (Schleifen, Kontrollstrukturen und explizite Cursor) bedingt steuern
  • Dynamisches SQL für größere Codierungsflexibilität erstellen
  • Von Oracle bereitgestellte PL/SQL-Packages zum Generieren der Ausgabe für Bildschirm, Datei, Web und E-Mail kategorisieren und verwenden
  • Funktionalitäten und Syntax von PL/SQL beschreiben
  • Trigger erstellen, um Geschäftsanforderungen gerecht zu werden
  • Abhängigkeiten zwischen PL/SQL-Unterprogrammen verwalten
  • PL/SQL-Code erstellen, um eine Schnittstelle zur Datenbank zu bilden
  • Unabhängige Ausführung von PL/SQL-Jobs planen
  • Anonyme PL/SQL-Blöcke entwerfen, die effizient ausgeführt werden
  • PL/SQL-Packages entwerfen, die zusammengehörige Konstrukte gruppieren und enthalten  

Kursbeschreibung

Dieser Kurs gibt den Teilnehmern eine Einführung in PL/SQL und unterstützt sie dabei, die Vorteile dieser leistungsstarken Programmiersprache zu verstehen. Die Teilnehmer lernen, PL/SQL-Blöcke aus Anwendungs-Code zu erstellen, die von mehreren Forms-, Reports- und Datenverwaltungsanwendungen gemeinsam genutzt werden können.Außerdem lernen sie, anonyme PL/SQL-Blöcke, Stored Procedures und Stored Functions zu erstellen sowie Variablen zu deklarieren und Exceptions abzufangen. Darüber hinaus lernen die Teilnehmer, Stored Procedures, Stored Functions, Packages und Datenbank-Trigger zu entwickeln. Sie verwalten PL/SQL-Programmeinheiten und Abhängigkeiten, bearbeiten Large Objects (LOBs) und verwenden einige der von Oracle bereitgestellten Packages. Zur Entwicklung dieser Programmeinheiten verwenden die Teilnehmer SQL*Plus. Die grundlegenden Konzepte werden durch Demonstrationen und praktische Übungen vertieft.

Kursdaten

Dauer: 5 Tage

Preis inkl. MwSt: 2.374,05€ p.P.

 

Kurs Details

PL/SQL – Einführung

  • Was ist PL/SQL?
  • PL/SQL-Umgebung
  • Vorteile von PL/SQL
  • Typen von PL/SQL-Blöcken – Überblick
  • Einfache anonyme Blöcke erstellen und ausführen
  • Ausgabe aus PL/SQL-Blöcken generieren
  • SQL*Plus als PL/SQL-Programmierumgebung

PL/SQL-Identifier deklarieren

  • Verschiedene Identifier-Typen in PL/SQL-Unterprogrammen identifizieren
  • Identifier mit Hilfe des deklarativen Bereichs definieren
  • Verwendungsmöglichkeiten für Variablen auflisten
  • Daten in Variablen speichern
  • PL/SQL-Variablen deklarieren

Ausführbare Anweisungen erstellen

  • Grundlegende Richtlinien für die Blocksyntax beschreiben
  • Literale in PL/SQL
  • Identifier-Zuweisungen mit SQL-Funktionen anpassen
  • Verschachtelte Blöcke als Anweisungen verwenden
  • Identifier-Werte in verschachtelten Blöcken referenzieren
  • Identifier mit Labels kennzeichnen
  • Operatoren in PL/SQL
  • Korrekte PL/SQL-Blocksyntax und -Richtlinien verwenden

Mit dem Oracle-Server interagieren

  • SQL-Anweisungen für PL/SQL kennen lernen
  • SELECT-Anweisungen in PL/SQL einbeziehen
  • Daten in PL/SQL mit der SELECT-Anweisung abfragen
  • Fehler bei Abfrage- und DML-Anweisungen mit Hilfe von Benennungskonventionen vermeiden
  • Daten auf dem Server mit PL/SQL bearbeiten
  • SQL-Cursor-Konzept
  • SQL-Cursor-Attribute verwenden, um Feedback zu DML zu erhalten

Transaktionen speichern und verwerfen

  • Kontrollstrukturen erstellen
  • Ablaufkontrolle in PL/SQL
  • Bedingte Verarbeitung mit IF-Anweisungen
  • Bedingte Verarbeitung mit CASE-Anweisungen
  • NULL-Werte zur Vermeidung häufiger Fehler verarbeiten
  • Boolesche Bedingungen mit logischen Operatoren erstellen
  • Kontrollierte Iteration mit Schleifenanweisungen

Zusammengesetzte Datentypen

  • Zusammengesetzte Datentypen aus PL/SQL-Records und -Tabellen kennen lernen
  • Mehrere Werte verschiedenen Typs mit PL/SQL-Records speichern
  • Einfügen und Aktualisieren mit PL/SQL-Records
  • Mehrere Werte desselben Datentyps mit INDEX BY-Tabellen speichern

Explizite Cursor

  • Cursor FOR-Schleifen mit Unterabfragen
  • Flexibilität von Cursorn mit Hilfe von Parametern erhöhen
  • Zeilen mit der FOR UPDATE-Klausel sperren
  • Aktuelle Zeile mit der WHERE CURRENT-Klausel referenzieren
  • Zeilen mit expliziten Cursorn verarbeiten
  • Attribute expliziter Cursor
  • Cursor und Records

Exceptions behandeln

  • Exceptions mit PL/SQL behandeln
  • Vordefinierte Exceptions
  • Nicht vordefinierte Oracle-Server-Fehler abfangen
  • Funktionen, die Informationen zu aufgetretenen Exceptions zurückgeben
  • Benutzerdefinierte Exceptions abfangen
  • Exceptions propagieren
  • Anwendungen Fehler mit der Prozedur RAISE_APPLICATION_ERROR melden

Stored Procedures erstellen

  • PL/SQL-Blöcke und Unterprogramme beschreiben
  • Verwendungsmöglichkeiten von Prozeduren beschreiben
  • Prozeduren erstellen
  • Zwischen formalen und aktuellen Parametern unterscheiden
  • Funktionalitäten verschiedener Parametermodi auflisten
  • Prozeduren mit Parametern erstellen und eine Prozedur aufrufen
  • Exceptions in Prozeduren behandeln
  • Quellcode im Data Dictionary anzeigen

Stored Functions erstellen

  • Stored Functions beschreiben
  • Syntax für CREATE OR REPLACE FUNCTION auflisten
  • Schritte zum Erstellen von Stored Functions kennen lernen
  • Stored Functions in iSQL*Plus erstellen und ausführen
  • Verwendung von Stored Functions in SQL-Anweisungen – Vorteile
  • Einschränkungen beim Aufrufen von Funktionen aus SQL-Anweisungen kennen lernen
  • Unterschiede zwischen Prozeduren und Funktionen beschreiben

Packages erstellen

  • Vorteile von PL/SQL-Packages auflisten
  • Zwischen Package-Spezifikation und Package Body unterscheiden
  • Packages erstellen
  • Öffentliche und private Konstrukte in ein Package aufnehmen
  • Öffentliche und private Konstrukte in einem Package aufrufen
  • Packages entfernen

Weitere Package-Konzepte

  • Überladene Prozeduren und Funktionen – Definitionen
  • Vorwärtsdeklarationen
  • Einmalige Initialisierungsblöcke für Packages erstellen
  • Beständigen Status von Konstrukten in Packages verfolgen
  • PL/SQL-Tabellen und -Records in Packages verwenden
  • Code zum Verbergen der Quelle wrappen
  • Von Oracle bereitgestellte Packages bei der Anwendungsentwicklung nutzen

Von Oracle bereitgestellte Packages bei der Anwendungsentwicklung nutzen

  • Verschiedene Verwendungsmöglichkeiten für die von Oracle bereitgestellten Packages auflisten
  • Vordefinierten Code zum Ausführen verschiedener Entwickler- und DBA-Aufgaben wiederverwenden
  • Package-Spezifikationen und Package-Überladung (Overloading) mit DESCRIBE-Befehl anzeigen
  • Funktionsweise von DBMS_OUTPUT beschreiben
  • Ausgabe mit UTL_FILE an Betriebssystemdateien umleiten
  • Einfache Web-Seiten mit dem Package HTP generieren
  • Hauptfunktionalitäten von UTL_MAIL beschreiben
  • Package DBMS_SCHEDULER zur Ausführungsplanung von PL/SQL-Code aufrufen

Dynamisches SQL und Metadaten

  • Verwendung von nativem dynamischen SQL beschreiben
  • Ausführungsablauf von SQL auflisten
  • Dynamisches SQL mit der EXECUTE IMMEDIATE-Syntax erstellen
  • Dynamisches SQL mit dem Package DBMS_SQL erstellen
  • DDL aus Metadaten mit dem Package DBMS_METADATA generieren

Überlegungen zum Entwurf von PL/SQL-Code

  • Konstanten mit Konstanten-Packages standardisieren
  • Exceptions mit Exception Packages standardisieren
  • PL/SQL-Code erstellen, der lokale Unterprogramme verwendet
  • Parameter mit dem Compiler Hint NOCOPY durch Referenz übergeben
  • Hint PARALLEL ENABLE zur Optimierung verwenden
  • Unabhängige Transaktionen mit dem Pragma AUTONOMOUS TRANSACTION innerhalb einer Transaktion ausführen
  • AUTHID-Anweisung einstellen, um das Programm mit den Privilegien des aufrufenden Benutzers statt mit denen des erstellenden Benutzers auszuführen
  • Bulk Binding für mehrzeilige Operationen verwenden

Abhängigkeiten verwalten

  • Abhängige und referenzierte Objekte beschreiben
  • Prozedurale Abhängigkeiten mit Dictionary Views protokollieren
  • Auswirkungen der Änderung eines Datenbankobjekts auf Stored Procedures und Stored Functions abschätzen
  • Prozedurale Lokal- und Fernabhängigkeiten verwalten

Large Objects (LOBs) bearbeiten

  • LOBs beschreiben
  • LOB-Datentypen erstellen und verwalten
  • Zwischen internen und externen LOBs unterscheiden
  • LOBs mit dem PL/SQL-Package DBMS_LOB steuern
  • Verwendung temporärer LOBs beschreiben

Trigger erstellen

  • Verschiedene Trigger-Typen beschreiben
  • Datenbank-Trigger und ihre Verwendung beschreiben
  • Datenbank-Trigger erstellen
  • Regeln für das Auslösen von Triggern beschreiben
  • Datenbank-Trigger entfernen

Anwendungen für Trigger

  • Datenbank- und Systemereignis-Trigger erstellen
  • Trigger für DDL-Anweisungen erstellen
  • Prozeduren mit CALL-Anweisung in Triggern aufrufen
  • Regeln zum Lesen und Schreiben in Tabellen mit Triggern erklären
  • Geschäftsanwendungs-Szenarien zur Implementierung mit Triggern beschreiben
  • Trigger Code verwalten

PL/SQL-Compiler verstehen und beeinflussen

  • Native Kompilierung und interpretierte Kompilierung beschreiben
  • Funktionalitäten nativer Kompilierung auflisten
  • Für kompilierten PL/SQL-Code zwischen nativer und interpretierter Kompilierung wechseln
  • Parameter zur Steuerung von Aspekten bei der PL/SQL-Kompilierung einstellen
  • Abfragen erstellen, um Informationen zur Kompilierung von PL/SQL-Code aus den Dictionary Views abzurufen
  • Warnmechanismus des Compilers erläutern
  • Schritte zur Verwendung der Compiler-Warnungen auflisten
  • Compiler-Warnungen mit Hilfe von DBMS_WARNING implementieren

    Sie haben Interesse?

    Wir nehmen ihre Anfragen gern entgegen!