Announcement

Collapse
No announcement yet.

SQL ALTER TABLE Statement: Fehler in der Felddefinition

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SQL ALTER TABLE Statement: Fehler in der Felddefinition

    Mahlzeit,

    ich habe ein kleines Problem mit einem SQL Statement in der Datenbankprogrammierung mit SQL und VB.NET.

    Und zwar möchte ich Spalten in einer Tabelle hinzufügen mittels eines SQL Statements:

    ALTER TABLE test ADD hour DECIMAL(10,0);
    ALTER TABLE test ADD hour DECIMAL;
    ALTER TABLE test ADD hour NUMBER(10,0);
    ALTER TABLE test ADD hour NUMBER;

    (dies sind bereits die Varianten die ich versucht habe)

    Jedoch bekomme ich im Visual Studio jedesmal den Fehler: Fehler in der Feldsyntax.

    Also gehe ich davon aus, das in dem SQL Statements irgendwas nicht stimmt, oder liege ich falsch?

    Ich schreibe mit dem OLEDB folgende ExecuteNonQuery:

    OleDbCommandDatensatzEinfügen.CommandText "ALTER TABLE test ADD hour DECIMAL(10,0);"

    Ich dachte mir vielleicht es liegt an dem Feldnamen "hour" das, dass evtl. mit einem Datentypen "date" in Verbindung gebracht wird?!

    Vielleicht kann sich jemand den String mal näher anschauen und mir einen Ratschlag geben wo hier der Fehler vorliegt (wahrscheinlich seh ich den Wald vor lauter Bäumen nicht...)

  • #2
    Hallo Sirus,

    welche RDBMS verwendest Du?

    Mit VS wird häufig MS SQL Server Express Edition mit installiert, aus vermute ich mal diese.
    Hour ist ein reservierte Begriff; eine Parameterwert z.B. für DATEPART, die aus z.B. einem DateTime den Stundenanteil zurückliefert.
    [highlight=SQL]
    SELECT DATEPART(HOUR, GETDATE()) AS Stunde
    [/highlight]

    Reservierte Begriff sollte man besser nicht zur Namensgebung verwenden und wenn es nun doch sein soll, muss man den Begriff quoten; beim MS SQL Server mit eckigen Klammern oder mit Anführungszeichen:

    [highlight=SQL]
    ALTER TABLE test
    ADD [hour] DECIMAL(10,0);
    [/Highlight]
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      Hallo,

      danke für deine Antwort!
      Habe es damit auch hinbekommen, nochmals vielen Dank!

      Comment

      Working...
      X