[Gelöst] Komplette Spalten in neue/leere Tabelle kopieren

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

datenbankteam
Beiträge: 8
Registriert: Fr, 19.06.2009 10:28

[Gelöst] Komplette Spalten in neue/leere Tabelle kopieren

Beitrag 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
Zuletzt geändert von datenbankteam am Do, 25.06.2009 12:10, insgesamt 1-mal geändert.
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Komplette Spalten in neue/leere Tabelle kopieren

Beitrag 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)
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Komplette Spalten in neue/leere Tabelle kopieren

Beitrag von komma4 »

Link zur HSQLDB-Dokumentation: http://hsqldb.org/web/hsqlDocsFrame.html
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
datenbankteam
Beiträge: 8
Registriert: Fr, 19.06.2009 10:28

Re: Komplette Spalten in neue/leere Tabelle kopieren

Beitrag 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...
Zuletzt geändert von datenbankteam am Do, 25.06.2009 11:56, insgesamt 1-mal geändert.
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Komplette Spalten in neue/leere Tabelle kopieren

Beitrag von komma4 »

...die dritte öffnende Klammer zu viel ?

Der Name aus der Fehlermeldung stimmt auch nicht mit dem (Demo-?) SELECT überein ...
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Barlee
******
Beiträge: 767
Registriert: Sa, 17.12.2005 12:27

Re: Komplette Spalten in neue/leere Tabelle kopieren

Beitrag von Barlee »

und was ist mit:

INSERT INTO "Dienste" ("Seitenname", "URL") VALUES (SELECT "Seitenname", "URL" FROM "Seiten")

Gruß Barlee
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Komplette Spalten in neue/leere Tabelle kopieren

Beitrag von komma4 »

Die VALUES Angabe ist lt. HSQDLDB-Dokumentation nur bei Vergabe von Werten, nicht jedoch bei Einsatz einer SELECT-Klausel zulässig.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
datenbankteam
Beiträge: 8
Registriert: Fr, 19.06.2009 10:28

Re: Komplette Spalten in neue/leere Tabelle kopieren

Beitrag von datenbankteam »

@Barlee:
funzt nicht:
Column count does not match in statement [INSERT INTO "Dienste" ("Seitenname", "URL") VALUES (SELECT "Seitenname", "URL" FROM "Seiten")]
Barlee
******
Beiträge: 767
Registriert: Sa, 17.12.2005 12:27

Re: Komplette Spalten in neue/leere Tabelle kopieren

Beitrag 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
datenbankteam
Beiträge: 8
Registriert: Fr, 19.06.2009 10:28

Re: Komplette Spalten in neue/leere Tabelle kopieren

Beitrag 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
Antworten