Hallo Jungs (und Mädels),
Glaubt mir, ich habe die Suchfunktion benutzt, aber nichts gefunden, obwohl die Frage banal ist:
Wie funktioniert der INSERT INTO Befehl? Ich will in die Spalte "Column" der Tabelle "Table" überall da, wo kein Wert drin steht den Eintrag "1" reinschreiben.
Ich habe
INSERT INTO "Table" ("Column") VALUES (1)
oder
UPDATE "table" SET "Column" = 1 WHERE 0;
Bekomme als Fehler
"Statemant does not generate a result set"
Wo nehme ich Anführungszeichen, wo runde Klammer, wo eckige Klammern?
Einer ne Idee?
Gruß Bernd!
INSERT INTO oder UPDATE ... SET
Moderator: Moderatoren
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Re: INSERT INTO oder UPDATE ... SET
Hallo Bernd,
Insert (Hinzufügen), bzw. Update (Ändern) bezieht sich auf Datensätze und nicht auf Spalten. Bei der WHERE-Klausel fehlt bei Dir der Spaltenname.
Siehe http://sql.1keydata.com/de/
Insert (Hinzufügen), bzw. Update (Ändern) bezieht sich auf Datensätze und nicht auf Spalten. Bei der WHERE-Klausel fehlt bei Dir der Spaltenname.
Code: Alles auswählen
UPDATE "table" SET "Column" = 1 WHERE "Column" = 0;
Gruß
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Re: INSERT INTO oder UPDATE ... SET
Hallo Peter,
vielen Dank für den Link! Allerdings hatte ich den vorher auch schon gefunden. Daher hatte ich ja den UPDATE-Befehl erst.
Weil aber der Befehl wie oben nicht funktionierte, wußte ich nicht, ob ich vielleicht mit Anführungszeichen oder Hochkommas etwas falsch gemacht habe. Zumal bei HSQL das wohl etwas anders zu handhaben ist als in SQL.
Wäre nett, wenn ich dazu mal generelle Informationen bekäme, also zur Verwendung der Zeichen (), [], {}, ', „“, und ´ bzw. `.
Aber die Lösung zu meinem Problem:
UPDATE "Table" SET "Column" = 1 where "Column" =0
funktioniert jetzt. Nur: Man darf den Befehl nicht in die SQL-Ansicht der Abfrage reinschreiben, sondern unter EXTRAS – SQL in einen SQL-Statement Interpreter reinschreiben. Dann auf „Ausführen“ - Siehe da! Es funktioniert!
Aber nochwas: Ich will alle Spalten, wo kein Eintrag ist mit dem Eintrag 0 versehen. wie lautet dann der Befehl?
... where "Column" = 0 funktioniert nicht
... where "Column" = Null funktioniert nicht
... where "Column" <> 2 funktioniert nicht
???
Gruß Bernd!
vielen Dank für den Link! Allerdings hatte ich den vorher auch schon gefunden. Daher hatte ich ja den UPDATE-Befehl erst.
Weil aber der Befehl wie oben nicht funktionierte, wußte ich nicht, ob ich vielleicht mit Anführungszeichen oder Hochkommas etwas falsch gemacht habe. Zumal bei HSQL das wohl etwas anders zu handhaben ist als in SQL.
Wäre nett, wenn ich dazu mal generelle Informationen bekäme, also zur Verwendung der Zeichen (), [], {}, ', „“, und ´ bzw. `.
Aber die Lösung zu meinem Problem:
UPDATE "Table" SET "Column" = 1 where "Column" =0
funktioniert jetzt. Nur: Man darf den Befehl nicht in die SQL-Ansicht der Abfrage reinschreiben, sondern unter EXTRAS – SQL in einen SQL-Statement Interpreter reinschreiben. Dann auf „Ausführen“ - Siehe da! Es funktioniert!
Aber nochwas: Ich will alle Spalten, wo kein Eintrag ist mit dem Eintrag 0 versehen. wie lautet dann der Befehl?
... where "Column" = 0 funktioniert nicht
... where "Column" = Null funktioniert nicht
... where "Column" <> 2 funktioniert nicht
???
Gruß Bernd!
-
- ********
- Beiträge: 4330
- Registriert: Di, 22.06.2004 12:02
- Wohnort: 71134 Aidlingen
- Kontaktdaten:
Hallo Bernd,NTClient hat geschrieben:Zumal bei HSQL das wohl etwas anders zu handhaben ist als in SQL.
Wäre nett, wenn ich dazu mal generelle Informationen bekäme, also zur Verwendung der Zeichen (), [], {}, ', „“, und ´ bzw. `.
Aber die Lösung zu meinem Problem:
UPDATE "Table" SET "Column" = 1 where "Column" =0
funktioniert jetzt. Nur: Man darf den Befehl nicht in die SQL-Ansicht der Abfrage reinschreiben, sondern unter EXTRAS – SQL in einen SQL-Statement Interpreter reinschreiben. Dann auf „Ausführen“ - Siehe da! Es funktioniert!
Aber nochwas: Ich will alle Spalten, wo kein Eintrag ist mit dem Eintrag 0 versehen. wie lautet dann der Befehl?
... where "Column" = 0 funktioniert nicht
... where "Column" = Null funktioniert nicht
... where "Column" <> 2 funktioniert nicht
das mit der Schreibweise hat wohl eher mit OOo zu tun und weniger mit HSQLDB. Dokumentationen zu HSQLDB findest Du unter http://hsqldb.org/web/hsqlDocsFrame.html.
Wenn eine Spalte keinen Inhalt hat, kannst Du auch keinen Wert wie <> 2 oder = 0 abfragen.
Der richtige Code würde stattdessen wie folgt lauten:
Code: Alles auswählen
WHERE Column is Null
Gruß
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Re: INSERT INTO oder UPDATE ... SET
Prima! Vielen Dank!
"Befehl erfolgreich ausgeführt!"
mit Where "Column" is null
Gruß Bernd!
"Befehl erfolgreich ausgeführt!"
mit Where "Column" is null
Gruß Bernd!

Re: INSERT INTO oder UPDATE ... SET
Danke für diesen entscheidenden Hinweis, das war auch mein Problem (wenn man von Access kommt, ist das ein wenig "doof" gelöst)NTClient hat geschrieben:... Nur: Man darf den Befehl nicht in die SQL-Ansicht der Abfrage reinschreiben, sondern unter EXTRAS – SQL in einen SQL-Statement Interpreter reinschreiben. Dann auf „Ausführen“ - Siehe da! Es funktioniert!...