Seite 1 von 1
[Gelöst] Komplette Spalten in neue/leere Tabelle kopieren
Verfasst: Do, 25.06.2009 11:23
von datenbankteam
Hallo,
wir haben eine kurze kurze Frage bzgl. des Kopierens von Daten in Base. Wie können wir aus einer Tabelle die Spalten Seitenname und URL in eine neue/leere Tabelle kopieren, die ledigleich diese beiden Spalten hat. Wir haben schon mit insert into und select into rumgespielt, kriegen aber nur Fehlermeldungen.
Z.B. gehen nicht:
o INSERT INTO Dienste (Seitenname, URL) SELECT (Seitenname, URL) FROM Seiten
o SELECT Seitenname, URL INTO Dienste FROM Seiten
Wobei eine Dienste-Tabelle mit den beiden Spalten schon angelgt ist.
Für jede Hilfe sind wir sehr dankbar.
Gruß
dbt
Re: Komplette Spalten in neue/leere Tabelle kopieren
Verfasst: Do, 25.06.2009 11:33
von komma4
Willkommen im Forum.
Welche Datenbank? Wie führt ihr die SQLs aus?
HSQLDB braucht bspw. doppelte Anführungszeichen beim Ausführen über ODB
>Extras>SQL...
Code: Alles auswählen
insert into "Tabelle1copy" ("id", "name", "wert_int") (Select "id", "name", "wert_int" from "Tabelle1");
WFM (WinXP, 3.0.1, interne HSQLDB)
Re: Komplette Spalten in neue/leere Tabelle kopieren
Verfasst: Do, 25.06.2009 11:35
von komma4
Re: Komplette Spalten in neue/leere Tabelle kopieren
Verfasst: Do, 25.06.2009 11:42
von datenbankteam
Also wir haben die Anfrage in OO Base gerade mal umgebaut:
o INSERT INTO "Dienste" ("Seitenname", "URL") (SELECT ("Seitenname", "URL" FROM "Seiten")
aber auch hier eine Fehlermeldung:
Unexpected token: , in statement [INSERT INTO "Dienste" ("Seitenname", "URL") (SELECT ("Seitenname",]
Die Anfrage stellen wir über Extras -> SQL...
Re: Komplette Spalten in neue/leere Tabelle kopieren
Verfasst: Do, 25.06.2009 11:47
von komma4
...die dritte öffnende Klammer zu viel ?
Der Name aus der Fehlermeldung stimmt auch nicht mit dem (Demo-?) SELECT überein ...
Re: Komplette Spalten in neue/leere Tabelle kopieren
Verfasst: Do, 25.06.2009 11:48
von Barlee
und was ist mit:
INSERT INTO "Dienste" ("Seitenname", "URL") VALUES (SELECT "Seitenname", "URL" FROM "Seiten")
Gruß Barlee
Re: Komplette Spalten in neue/leere Tabelle kopieren
Verfasst: Do, 25.06.2009 11:57
von komma4
Die VALUES Angabe ist lt. HSQDLDB-Dokumentation nur bei Vergabe von Werten, nicht jedoch bei Einsatz einer SELECT-Klausel zulässig.
Re: Komplette Spalten in neue/leere Tabelle kopieren
Verfasst: Do, 25.06.2009 11:59
von datenbankteam
@Barlee:
funzt nicht:
Column count does not match in statement [INSERT INTO "Dienste" ("Seitenname", "URL") VALUES (SELECT "Seitenname", "URL" FROM "Seiten")]
Re: Komplette Spalten in neue/leere Tabelle kopieren
Verfasst: Do, 25.06.2009 12:05
von Barlee
komma4 hat Recht. Kann nicht funktionieren.
Mein letzter Tip ohne Klammern hinten:
INSERT INTO "Dienste" ("Seitenname", "URL") SELECT "Seitenname", "URL" FROM "Seiten"
Gruß Barlee
Re: Komplette Spalten in neue/leere Tabelle kopieren
Verfasst: Do, 25.06.2009 12:05
von datenbankteam
Jau, saugeil! Eine öffnende Klammer war zuviel!
Vielen Dank, die Sache hat sich damit erledigt und ich muss die Sache nicht von Hand kopieren....
Die richtige Anfrage ist übrigens für alle anderen:
INSERT INTO "Dienste" ("Seitenname", "URL") (SELECT "Seitenname", "URL" FROM "Seiten")
=> Befehl erfolgreich ausgeführt.
Einen schönen Tag noch, die Sache hat sich damit erldigt...
dbt