Kategorie: PL/SQL

Kollektionen in PL/SQL

Kollektionen besitzen mehrere Elemente des gleichen Datentyps (homogon)

Man kann sie sich auch als Array vorstellen.

 

Wir unterschieden hierbei 3 verschiedene Kollektionen:

kollektionen

Laut PL/SQL – kurz & gut hat auch das assoziative Array nur eine dimension. Aber ich halte mich jetzt einfach mal ohne Gewähr an die Vorlage.

 

Ausformuliert:

TABLE.. INDEX BY :

ist ein zweidimensionales – assoziatives – Feld mit variabler Länge. Mit (ungeordnete) Schlüsselwerten indexiert. (assoziatives array)

TABLE:

ist ein eindimensionales Feld mit variabler Länge. Es ist nach natürlichen Zahlen geordnet zugreifbar.

VARRAY:

ist ein eindimensionales Feld mit maximaler Länge

Was ist PL/SQL ?

„PL/SQL ist eine Prozedurale Erweiterung für die strukturierte Abfragesprache SQL“

oder auch

„Erweiterung der Datenbanksprache (SQL) um prozedurale Programmierung“ 

SQL ist Mengenorientiert. Das Ergebnis ist immer eine Menge von Tupeln.

 

WAS fehlt SQL um vollständige Anwendungssysteme zu Programmieren?
  • man kann nicht gezielt einzelne tupel bearbeiten
  • man kann keine schleifen definieren (oder rekursion.. etc)
  • variablen deklarieren

 

Wozu brauch man PL/SQL?
  • um komplexe erweiterungen für SQL zu ermöglichen. Unter verwendung von variablen, methoden, und kontrollstrukturen
  • zu steuerung von selbst programmierten abläufen
  • wiederverwendbarkeit von Funktionen und Prozeduren

zu deutsch:

Man kann in SQL nur umständlich über Zwischentabellen diverse Abfragen machen. Was sich mit schleifen und Variablen wesentlich einfacher umsetzen ließe. Es gibt einen direkten zugriff auf die Datenbank. Und man kann seine selbstgeschriebenen Prozeduren und Funktionen wiederverwenden.

 

WAS HAT PL/SQL ZU BIETEN?
[ADA nachempfundene Sprache] (ähnlich wie die fragen zuvor)

  • Variablen, Konstanten und Datentypen
  • Kontrollstrukturen [Bedingungen (IF, CASE, EXIT) und Schleifen (WHILE, FOR, LOOP)]
  • Blöcke, Prozeduren, Funktionen und Pakete (anonym block, PROCEDURE, FUNCTION, PACKAGE)
  • Fehlerbehandlung (EXCEPTION)
  • Einbettung von SQL-Anweisungen

 

Wie ist PL/SQL angepasst an SQL?
  • Die DT sind identisch
  • SQL kann normal eingebettet werden
  • a) lesen: SELECT INTO <pl var>
  • b) schreiben: INSERT INTO VALUES (<pl var/wert>..)
  • c) Menge aus DB lesen: DECLARE CURSOR Name IS SELECT .. etc
  • Die Funktionen des DBMS werden verwendet
  • a) erweiterbarkeit von SQL durch in der DB gespeicherte Prozeduren und Funktionen (CREATE, DROP)
  • b) Rechte Verwaltung in Mehrfachanwender umgebung
  • c) Ausführung meist auf dem server

 

Was ist der Nachteil von PL/SQL?
  • PL/SQL ist proprietär zum Oracle DBMS
  • zu deutsch: Die Programme laufen nur für Oracle-Datenbanken. Wechselt man die Datenbank, wird es relativ kompliziert, die Anwendung umzuschreiben. 

 

Weitere umfassende Informationen über PL/SQL findet ihr hier

Es würde jetzt zu weit gehen, wirklich jede Kleinigkeit hier neu zu formulieren.

Loading...
X