|
Tables Impressum |
Deklaration
PL/SQL-Tables sind dynamische eindimensionale Arrays. Die Indizierung der Elemente erfolgt über beliebige ganze Zahlen (max. 10 Stellen, Typ BINARY_INTEGER). Im Gegensatz zu anderen Programmiersprachen können Elemente beliebig im Array verteilt werden. Es ist keine sequentielle Indizierung notwendig. So lassen sich wahlfreie Zugriffe realisieren, in dem z.B. eine Auftragsnummer als Index verwendet wird, um Daten eines Auftrags als Element des Arrays abzulegen. Als Elementtypen sind alle PL/SQL-Typen zugelassen. Zur Deklaration einer Array-Variablen muß zunächst die Deklaration eines Typs erfolgen, die das Array beschreibt:
Beispiel
Verwendung von PL/SQL - Tables
Indizierung
Beispiele
Ein Element wird dadurch erzeugt, dass ihm ein Wert zugewiesen wird. Der Zugriff auf ein nicht vorhandenes Element führt zu einer Exception NO_DATA_FOUND. Jedes Element muß einzeln erzeugt werden. Das komplette oder teilweise Laden von Datenbank-Tabellen in eine PL/SQL-Table ist nicht möglich. Jede Zeile muß einzeln über einen Fetch in die Table geschrieben werden. PL/SQL - Table - Attribute
EXISTS(n)
Prüft, ob ein Element existiert. Beispiel:
COUNT
Zählt die Elemente der Table. Beispiel:
FIRST und LAST
Bestimmt den ersten bzw. letzten Index der Table. Liefert NULL bei einer leeren Table Beispiel:
PRIOR(n) und NEXT(n)
Bestimmt zu einem Index den nächsten bzw. vorherigen Index, zu dem ein Element existiert. Liefert NULL, wenn kein solches Element existiert. Beispiel:
DELETE, DELETE(n), DELETE(n,m)
Beispiel:
Löscht alle Elemente mit dem Index 0 bis 100. Alle Elemente einer PL/SQL-Table durchlaufen
|
Tables Table Array Arrays Collection Collections EXISTS COUNT FIRST LAST PRIOR NEXT DELETE Beispiel Beispiele