Seite 1 von 1

Per SQL Daten ändern

Verfasst: Di, 09.05.2006 15:18
von althoffc
Hallo,

gibt es im OpenOffice 2.0.2 eine Möglichkeit, die Daten einer HSQL-Datenbank direkt per SQL-Befehl (Update) zu ändern?

In der Hilfe steht, dass wohl in Abfragen nur select-Statements verwendet werden können.

Gibt es vielleicht an anderer Stelle im openOffice eine Möglichkeit hierzu?

Danke und Gruß,
Carsten

Verfasst: Di, 09.05.2006 21:13
von Barlee
Hallo althoffc,

in Base unter Extras/SQL... kannst Du solche (Verwaltungs)Befehle ausführen

Gruß Barlee

Verfasst: Mi, 10.05.2006 11:12
von althoffc
Hallo Barlee,

die Möglichkeit hatte ich bereits versucht. Dabei bin ich auf Fehlermeldungen gestossen, aus denen ich fälschlich geschlossen habe, dass auch hier wie im Abfrage-Modul nur select-Statements erlaubt seien.

Was ich inzwischen herausgefunden habe ist folgendes:

Bei Zugriff auf HSQL-Datenbanken (Base-eigene Datenbank), müssen Tabellen- und Feldnamen in doppelte Anführungszeichen (") gesetzt werden.
Zeichenketten, nach denen beispielsweise gesucht werden soll, müssen in einfache Anführungsstriche (') gesetzt werden.

Beispiel:
update "mitglieder" set "vorname" = 'Carsten' where "nachname" = 'Althoff' :wink:

In der Form
update mitglieder set vorname = 'Carsten' where nachname = 'Althoff'
wird das Statement nicht akzeptiert. :o

Gruß,
Carsten

Verfasst: Mi, 10.05.2006 19:19
von Barlee
Hallo Carsten,

danke für den Hinweis bzgl. des korrekten Syntax.
Ich war bei Versuchen mit der HSQL-DB auch schon auf Fehlermeldungen gestoßen; hatte mich letztlich allerdings nicht nach einer Lösung umgesehen, da ich sonst mySQL verwende.

Gruß Barlee

Verfasst: Mi, 01.11.2006 09:58
von hakre
Hallo Forum, auf HSQLDB in ooo 2.0.4 klappt ein simpler UPDATE (ebenfalls quergecheckt mit der Syntaxbeschreibung auf der HSQLDB Homepage) leider nicht in der vorhin beschriebenen Form:
update "mitglieder" set "vorname" = 'Carsten' where "nachname" = 'Althoff'
Feldnamen können übrigens ohne Anführungszeichen gesetzt werden, wenn die nur in Großbuchstaben sind. So findet bei mir das SQL zb. das Feld ID sowohl über "ID" als auch ID.

Woran das liegt, dass bei mir ein einfaches Statement wie
UPDATE "Kunden_Elle" SET "Adressliste"='test' WHERE ID>0
nicht geht ist mir schleierhaft. Werde noch weiter rumprobieren und versuchen Infos darüber zu bekommen, hat jemand eine Idee?

/Anmerkung: Auch nach schliessen und nochmaligen Öffnen des Dokumentes hat sich das nicht geändert.