55 lines
2.1 KiB
Plaintext
55 lines
2.1 KiB
Plaintext
REPLACE(QL) DABA16 REPLACE(QL)
|
|
|
|
NAME
|
|
replace - Ersetzen von Domaenen-Werten in einer Relation
|
|
|
|
UEBERSICHT
|
|
replace tuple_variable (target_list) [where qual]
|
|
|
|
BESCHREIBUNG
|
|
Replace aendert die Werte von Domaenen, spezifiziert in der
|
|
target_list, fuer alle Tupel, die die Qualifikation qual er-
|
|
fuellen. Die Tupel-Variable tuple_variable muss deklariert
|
|
worden sein, um sich ueber die zu modifizierende Relation
|
|
bewegen zu koennen. Es ist zu bemerken, dass eine Tupel-
|
|
Variable und kein Relationsname gefordert ist. Nur Doma-
|
|
enen, die modifiziert werden sollen, muessen in der
|
|
target_list auftreten. Diese Domaenen muessen als
|
|
Ergebnis-Attributnamen (result_attnames) in der target_list
|
|
entweder explizit oder als Annahme spezifiziert werden
|
|
(ql(iql)).
|
|
|
|
Numerische Werte koennen durch Werte numerischen Formates
|
|
ersetzt werden (mit Ausnahme der unten angefuehrten Beispie-
|
|
le). Bevor die spezifizierten Werte die Domaenen-Werte er-
|
|
setzen, werden sie in das Format der Ergebnis-Domaene kon-
|
|
vertiert.
|
|
|
|
Nur der Relationseigentuemer oder ein Nutzer mit replace Be-
|
|
fugnis auf die Relation darf die replace Anweisung anwenden.
|
|
|
|
Wenn die Aenderung des Tupels die Integritaetsbedingungen
|
|
verletzen wuerden (integrity(ql)), wird keine Aenderung vor-
|
|
genommen.
|
|
|
|
|
|
BEISPIEL[E]
|
|
/* Alle Beschaeftigten des Leiters "Lehmann,Bernd"
|
|
erhalten eine Gehaltserhoehung von 10% */
|
|
range of p is personal
|
|
replace p(gehalt = 1.1 * p.gehalt)
|
|
where p.leiter = "Lehmann,Bernd"
|
|
|
|
SIEHE AUCH
|
|
integrity(ql), permit(ql), ql(iql), range(ql)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DIAGNOSE
|
|
Die Verwendung von Ausdruecken numerischen Formates fuer
|
|
Zeichen-Domaenen (und umgekehrt) erzeugt entsprechende
|
|
Diagnostik-Nachrichten.
|