HINWEIS
BEISPIEL
Kapitel 8: SQL in Theorie und Praxis
Abbildung 8.54 Abfrageergebnis
Dummerweise ist jetzt der Primärschlüssel zu nichts mehr zu gebrauchen (siehe obige Abbildung).
Alle Faulpelze anzeigen
SELECT Mitarbeiter
FROM AngestelltenHobbys
WHERE (Hobbys.Value="Schlafen")
Abbildung 8.55 Abfrageergebnis
Daten manipulieren
SQL-Anweisungen zum Manipulieren von Daten werden als DML-Befehle
1
bezeichnet. Auch für Daten-
manipulationen, die an Gruppen von Datensätzen durchgeführt werden sollen, empfehlen sich diese An-
weisungen. Anstatt, wie früher mit DAO üblich, umständlich mit den Datenbank-Objekten zu arbeiten,
lässt sich zum Beispiel die Neuberechnung eines Feldinhalts mit einer einzigen SQL-Anweisung abwickeln.
Grundsätzlich geben die Datenmanipulationsbefehle
INSERT INTO
DELETE
UPDATE
keine Daten zurück. Sie können lediglich feststellen, wie viele Zeilen von der Änderung betroffen sind, in-
dem Sie die RecordsAffected-Eigenschaft des Database-Objektes nach Ausführung der SQL-Anweisung
(Execute-Methode) abfragen.
Einfügen einzelner Datensätze
Mit Hilfe der INSERT INTO-Anweisung können Sie Datensätze an eine bestehende Tabelle anhängen.
Dazu übergeben Sie zumindest eine Liste von Feldwerten.
INSERT INTO <zieltabelle> (<zielfeld1>, <zielfeld2> ...) VALUES (<wert1>, <Wert2> ...)
1
Data Manipulation Language
458
BEISPIEL
BEISPIEL
Einfügen eines neuen Eintrags in die Tabelle
Personal.
INSERT INTO
Personal
VALUES (10, 'Gewinnus', 'Thomas', 'Praktikant', 'Herr' ...)
Doch da taucht schnell ein Problem auf: Woher nehmen wir die PersonalNr (in diesem Fall die 10)?
Normalerweise sorgt ein Zählerfeld für die korrekten Einträge, wir aber müssten bei jedem Einfügen einen
eindeutigen Wert bestimmen, was uns sicher schwer fallen dürfte.
Der Ausweg: Stimmt die Feldreihenfolge nicht überein oder wollen Sie Felder auslassen bzw. können diese
nicht füllen (IDENTITY), können Sie mit Hilfe einer Feldliste die gewünschten Felder und deren Reihen-
folge bestimmen. Die SQL-Engine übernimmt dann die korrekte Zuordnung.
Einfügen ohne die Spalte
PersonalNr
INSERT INTO
Personal (Nachname, Vorname, Funktion, Anrede)
VALUES ('Gewinnus', 'Thomas', 'Praktikant', 'Herr')
Führen Sie obige Anweisung mehrfach aus und kontrollieren Sie das Ergebnis, dürfte sich Ihnen der folgen-
de Anblick bieten:
Abbildung 8.56 Abfrageergebnis
Die PersonalNr-Spalte wurde automatisch mit den korrekten Werten gefüllt. Beachten Sie jedoch Folgen-
des:
Die Datentypen in der Liste und der Tabelle müssen übereinstimmen.
Die Feldgröße, insbesondere bei Textfeldern, darf nicht überschritten werden.
Geben Sie keine Feldliste an, muss die Feldreihenfolge in der VALUES-Liste penibel eingehalten werden.
Verwenden Sie deshalb besser immer eine Feldliste, das schützt Sie auch vor bösen Überraschungen
beim späteren Ändern des Tabellenlayouts.
459
Daten manipulieren

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.