Accecc DB - ADO - SQL- Tabellename umbenennen



  • Hallo,

    Ausgangssituation:
    - Access Datenbank
    - ADO-Komponente (ADOCommand)

    Ich möchte eine Tabelle umbenennen und habe folgendes versucht:

    //1.
    cmd->CommandText = "RENAME TABLE alt TO neu"; 
    //2.
    cmd->CommandText = "RENAME alt TO neu";
    

    Beim Ausführen bekomme ich folgende Fehlermeldung:

    [Microsoft][ODBC Microsoft Access Driver] Unzulässige SQL-Anweisung; 'DELETE', 'INSERT', 'SELECT' oder 'UPDATE' erwartet
    

    Wie wird sonst eine Tabelle umbenannt?

    Vielen Dank



  • Hallo

    Unter PostgreSQL wird das so gemacht

    ALTER TABLE products RENAME TO items;
    

    bis bald
    akari



  • Danke für die schnelle Antwort.

    akari schrieb:

    ALTER TABLE products RENAME TO items;
    

    In diesem Fall bekomme ich folgende Fehlermeldung:

    [Microsoft][ODBC Microsoft Access Driver] Syntaxfehler in ALTER TABLE-Anweisung
    

    Andere Idee?

    Danke



  • Hallo

    Ja schau in der Doku zu Access/ in der MSDN nach. Irgendwo wird schon stehen, was Microsoft als SQL-Dialekt verwendet

    bis bald
    akari



  • Hallo,

    ich habe keine Möglichkeit gefunden. Ich habe auch keine Möglichkeit, die Columns umzubenennen. Deshalb mache ich es jetzt folgendermassen:

    - neue Tabelle erstellen: SELECT * INTO temp FROM alt
    - alte Tabelle löschen
    - neue Tabelle erstellen: SELECT * INTO neu FROM temp
    - Temp Tabelle löschen

    Naja, ist nicht gerade die feinste Lösung aber was soll's...



  • muss denn alt und neu nicht in anführungszeichen?



  • ser1al_ausgeloggt schrieb:

    muss denn alt und neu nicht in anführungszeichen?

    In diesem Fall nein. Wenn der Tabellenname allerdings ein Leerzeichen (z.B.) enthält, dann Ja.


Anmelden zum Antworten