81 lines
3.2 KiB
Plaintext
81 lines
3.2 KiB
Plaintext
RETRIEVE(QL) DABA16 RETRIEVE(QL)
|
|
|
|
NAME
|
|
retrieve - Wiederfinden (Suchen) von Tupel aus einer Rela-
|
|
tion
|
|
|
|
UEBERSICHT
|
|
retrieve [into relname ] (target_list) [where qual ]
|
|
|
|
retrieve unique (target_list) [where qual ]
|
|
|
|
BESCHREIBUNG
|
|
Retrieve stellt alle Tupel bereit, die die Qualifikation er-
|
|
fuellen und zeigt sie entweder am Terminal (Standardausgabe)
|
|
an oder speichert sie in eine neue Relation. Wurde into mit
|
|
relname nicht spezifiziert, werden doppelte Tupel nicht aus-
|
|
geblendet. Wenn relname spezifiziert wurde, wird das Ergeb-
|
|
nis der Anfrage mit diesem Namen in eine neue Relation ge-
|
|
speichert.
|
|
|
|
Eine Relation mit diesem Namen und dem Anwender als
|
|
Relations-Eigentuemer darf nicht bereits existieren. Der
|
|
retrieve Anwender wird zum Eigentuemer der neuen Relation.
|
|
Die Relation wird die Domaenen-Namen besitzen, die in der
|
|
target_list als result_attnames spezifiziert wurden. Die
|
|
neue Relation wird vom System fuer sieben Tage geschuetzt,
|
|
falls der Nutzer nicht explizit durch eine save Anweisung
|
|
das Schutzdatum der Relation verlaengert.
|
|
|
|
Wenn das Schluesselwort unique spezifiziert wird, werden die
|
|
Tupel nach der Reihenfolge der angegebenenen Domaenen sor-
|
|
tiert und doppelte Tupel vor der Anzeige entfernt.
|
|
|
|
|
|
Das Schluesselwort all kann benutzt werden, um alle Domaenen
|
|
wiederzufinden.
|
|
|
|
Wenn kein Ergebnis-Relations-Name relname spezifiziert wur-
|
|
de, wird das Ergebnis der Anfrage am Terminal angezeigt und
|
|
nicht gespeichert. Doppelte Tupel werden bei einer Anzeige
|
|
am Terminal nicht entfernt.
|
|
|
|
Das Format, in dem die Domaenen angezeigt werden, kann zum
|
|
Zeitpunkt des iql-Aufrufes definiert werden (iql(mutos)).
|
|
|
|
Wenn eine Ergebnis-Relation spezifiziert wurde, erfolgt
|
|
standardmaessig eine Modifikation der Ergebnis-Relation in
|
|
die Speicherungsstruktur "cheapsort", wobei doppelte Tupel
|
|
entfernt werden.
|
|
|
|
Wenn die Standardstruktur "cheapsort" nicht gewuenscht wird,
|
|
kann der Nutzer zum Zeitpunkt des iql-Aufrufes diese Stan-
|
|
dardannahme mit dem -r Flag ueberschreiben (iql(mutos)).
|
|
|
|
Nur der Relations-Eigentuemer und Anwender mit retrieve Be-
|
|
fugnis koennen die Anweisung nutzen.
|
|
|
|
|
|
BEISPIEL[E]
|
|
/* Finde alle Beschaeftigten, die mehr als ihr
|
|
Leiter verdienen */
|
|
|
|
range of p is personal
|
|
range of l is personal
|
|
retrieve (p.name) where p.leiter = l.name
|
|
and p.gehalt > l.gehalt
|
|
|
|
/* Finde alle Domaenen fuer Personen,
|
|
die mehr als das Durchschnittsgehalt verdienen */
|
|
|
|
retrieve into temp (p.all) where p.gehalt > avg(p.gehalt)
|
|
|
|
/* Wiederfinden der Beschaeftigtennamen, sortiert */
|
|
|
|
retrieve unique (p.name)
|
|
|
|
SIEHE AUCH
|
|
iql(mutos), modify(ql), permit(ql), ql(iql), range(ql),
|
|
save(ql)
|
|
FEHLERQUELLEN
|