Base Tabellenfeld Eigenschaften ändern

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Teemartin
*
Beiträge: 15
Registriert: Fr, 28.01.2011 19:55

Base Tabellenfeld Eigenschaften ändern

Beitrag von Teemartin »

Guten Tag,
Ich habe hier eine DB Namens -Busadressen.odb-

Darin sind die Tabellen -Busadressen
und die Tabelle -Orte- verknüpft.

1:n Busadressen = 1, Orte = n

Beide Tabellen sind mit Daten gefüllt :-)
In der Tabelle -Orte- ist ein Feld namens -Datum-
Diesem Feld wurde aber aus versehen eine -Textfeld- Eigenschaft zugwiesen.
Jetzt kann ich nicht sortieren :-)
Gibt es es eine SQL Befehl, mit dem ich die Textdaten aus den "Textdatumsfeldern" in ein richtiges "Datumsfeld" einlesen kann?

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

Re: Base Tabellenfeld Eigenschaften ändern

Beitrag von komma4 »

Willkommen im Forum.

Du verwendest die eingebaute HSQL-Datenbank?

Dann wirst Du bei der SQL-Dokumentation mit dem Suchbegriff ALTER TABLE fündig.



Viel Erfolg!
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)
Teemartin
*
Beiträge: 15
Registriert: Fr, 28.01.2011 19:55

Re: Base Tabellenfeld Eigenschaften ändern

Beitrag von Teemartin »

Hi komma4,
Danke für den Willkommensgruß.
Bin kein DB und SQL Experte. Wenn Du mein Wissen über Kräuter brauchst kein Problem :-)

ALTER Table "Orte" set data type "Datum" DATE ??

Irgendwas stimmt da nicht :-)

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

Re: Base Tabellenfeld Eigenschaften ändern

Beitrag von komma4 »

Hallo Martin,


"Kräuter"? Kann man das rauchen? 8)



Mit Google gefunden: http://www.hsqldb.org/doc/guide/ch09.html

Code: Alles auswählen

ALTER TABLE <tablename> ADD [COLUMN] <columnname> Datatype
    [(columnSize[,precision])] [{DEFAULT <defaultValue> |
    GENERATED BY DEFAULT AS IDENTITY (START WITH <n>[, INCREMENT BY <m>])}] |
    [[NOT] NULL] [IDENTITY] [PRIMARY KEY]
    [BEFORE <existingcolumn>];
Und:
It accepts a columnDefinition as in a CREATE TABLE command.
Also wahrscheinlich:

Code: Alles auswählen

ALTER TABLE "Orte" COLUMN "Datum" Date
evtl. noch ein SET vor COLUMN - kanns aktuell nicht ausprobieren, bin noch am Umziehen.
Mit ein wenig googlen kommst Du sicherlich zum Ziel, oder?

Viel Erfolg!
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)
Teemartin
*
Beiträge: 15
Registriert: Fr, 28.01.2011 19:55

Re: Base Tabellenfeld Eigenschaften ändern

Beitrag von Teemartin »

Hallo Komma4,
Kräuter kann man Rauchen. Früher gabs in der Apotheke extra "Asthmazigaretten".
Rauch mal eine Zimtstange, aber erst nach dem Umzug :-)

Hab das natürlich auch gefunden, aber SQL ist die Fremdsprache, die ich neben engl. auch nicht so gut kann.
Gegoogelt habe ich auch. Aber im deutschspraigen Raum gab es nur Fingerzeige, keine Lösungen.
Ich versuchs mal mit try und error

Übrigens, für Muskelkater gibts auch keinen Tee.

Danke.
Teemartin
*
Beiträge: 15
Registriert: Fr, 28.01.2011 19:55

Re: Base Tabellenfeld Eigenschaften ändern

Beitrag von Teemartin »

Hallo Winfried,
wenn ich weiß. dass das irgendwann mal funktioniert, kann ich ja weiter Daten eingeben.

Hab gegoogelt und -Try / Error

ALTER TABLE "Orte" COLUMN "Datum" DATE
Unexpected token: COLUMN in statement [ALTER TABLE "Orte" COLUMN]

ALTER TABLE "Orte" SET COLUMN "Datum" DATE
Unexpected token: SET in statement [ALTER TABLE "Orte" SET]

ALTER TABLE "Orte" MODIFY COLUMN "Datum" Dat
Unexpected token: MODIFY in statement [ALTER TABLE "Orte" MODIFY]

ALTER TABLE "Orte" COLUMN MODIFY "Datum" Dat
Unexpected token: COLUMN in statement [ALTER TABLE "Orte" COLUMN]

ALTER TABLE "Orte" MODIFY "Datum" DATE
Unexpected token: MODIFY in statement [ALTER TABLE "Orte" MODIFY]

ALTER TABLE "Orte" CHANGE "Datum" DATE
Unexpected token: CHANGE in statement [ALTER TABLE "Orte" CHANGE]

Wenn Du umgezogen bist, meldest Du Dich wieder. Dann schick ich Dir die Zimtstangen :-)

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

Re: Base Tabellenfeld Eigenschaften ändern

Beitrag von komma4 »

Code: Alles auswählen

ALTER TABLE "Tabelle1" ALTER COLUMN "datum" DATE
wird erfolgreich ausgeführt (habe hier eine Testversion OOo 3.2.1 unter Windows XP Pro.

Allerdings müssen die Inhalte (Spalte vorher als Text [VARCHAR] definiert) im ISO-FOrmat (JJJJ-MM-TT) eingegeben worden sein, bei Inhalten wie 3.1.11 kommt es auch hier zu Fehlermeldungen.

Was auch funktioniert ist das direkte Umstellen in der Tabellendefinition: Spalte auf Datum [DATE] ändern.


Hilft Dir das?
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)
Teemartin
*
Beiträge: 15
Registriert: Fr, 28.01.2011 19:55

Re: Base Tabellenfeld Eigenschaften ändern

Beitrag von Teemartin »

Hallo Winfried,
ich propiers die nächsten 2 Tage.
Ist etwas früh jetzt :-)

Danke
Teemartin
*
Beiträge: 15
Registriert: Fr, 28.01.2011 19:55

Re: Base Tabellenfeld Eigenschaften ändern

Beitrag von Teemartin »

Servus Winfried,
komma4 hat geschrieben:

Code: Alles auswählen

ALTER TABLE "Tabelle1" ALTER COLUMN "datum" DATE
wird erfolgreich ausgeführt (habe hier eine Testversion OOo 3.2.1 unter Windows XP Pro.

Allerdings müssen die Inhalte (Spalte vorher als Text [VARCHAR] definiert) im ISO-FOrmat (JJJJ-MM-TT) eingegeben worden sein, bei Inhalten wie 3.1.11 kommt es auch hier zu Fehlermeldungen.
hab die Daten aber als TT.MM.JJ eingegeben :-)
komma4 hat geschrieben:Was auch funktioniert ist das direkte Umstellen in der Tabellendefinition: Spalte auf Datum [DATE] ändern.
Geht offenbar nicht wenn Daten drin sind.
Er bringt eine Warnmeldung. Bei ja löscht er die alte Tabelle und erstellt am Schluss eine neue, aber ohne Daten.

Soll ich Dir die DB mal schicken?

Grüßle Martin



Moderation,4: Quotierung korrigiert
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Base Tabellenfeld Eigenschaften ändern

Beitrag von komma4 »

Martin,

hänge eine Beispieldatei (anonyme Daten!) mal an ein Posting. Hier gibt es ausser mir noch andere Hilfeleistende. Persönlich habe ich momentan anderes zu tun, als in OOo Eingeweiden zu stochern ;)


Du kannst ja auch mal Anderes versuchen: Export nach CALC (drag&drop in ein offenes Tabellenblatt), dort umformatieren und dann Import zurück (gleicher Weg).
Ggfs. ein Hilfsprogramm zum Ändern nutzen (CSVed unter Windows).



Mit welcher OOo Version arbeitest Du? Welches Betriebssystem?
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)
Teemartin
*
Beiträge: 15
Registriert: Fr, 28.01.2011 19:55

Re: Base Tabellenfeld Eigenschaften ändern

Beitrag von Teemartin »

Hallo Winfried,
komma4 hat geschrieben:Martin,

hänge eine Beispieldatei (anonyme Daten!) mal an ein Posting. Hier gibt es ausser mir noch andere Hilfeleistende. Persönlich habe ich momentan anderes zu tun, als in OOo Eingeweiden zu stochern ;)
Schade ich hab noch so vile Probleme :-)
komma4 hat geschrieben:Du kannst ja auch mal Anderes versuchen: Export nach CALC (drag&drop in ein offenes Tabellenblatt), dort umformatieren und dann Import zurück (gleicher Weg).
Hatte ich schon probiert. Ging damals nicht. Heute gings :-)

Danke für die Hilfe, habe wieder was gelernt.
komma4 hat geschrieben:Ggfs. ein Hilfsprogramm zum Ändern nutzen (CSVed unter Windows).
Hab ich schon mal geholt, man kann ja nie wissen :-)

Grüßle



Moderation,4: Quotierung korrigiert
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Base Tabellenfeld Eigenschaften ändern

Beitrag von komma4 »

Teemartin hat geschrieben:Schade ich hab noch so vile Probleme :-)

Dann wende Dich ruhig ans Forum hier.
Sind ja noch viele andere freiwillige Helfer hier unterwegs.


Schön, dass es mit Deinem Problem schon mal geklappt hat.
Weiterhin viel Spass mit OOo!
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)
Antworten