Announcement

Collapse
No announcement yet.

Spalte bei Import forlaufend hochzählen?

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

  • Spalte bei Import forlaufend hochzählen?

    Hallo,

    ich möchte Einträge, die aus einer Access-Datei kommen per Verbindungsserver eine SQL-Tabelle einfügen.

    In der Art:

    insert into sql_tabelle select ident_nr, spalte1, spalte2, spalte3 from openquery (access_db,'select * from access_tabelle')

    Wobei ich eine Lösung benötige, wie ich die ident_nr hochzählen könnte.
    In meiner SQL-Tabelle ist das ein eindeutiger Kenner, und steht z.B. bei 1100. Also sollte meine Einträge, die aus der Access-DB kommen, bei 1101 weiterzählen.

    1101
    1102
    1103
    usw.

    Hat mir jemand den ulitmativen Tipp?

    Danke & Grüße,
    Avhy.

  • #2
    Du kennzeichnest das Feld ident_nr am SQL-Server als IDENTITY und machst dann beim insert nur mehr

    insert into sql_tabelle(spalte1, spalte2, spalte3) select spalte1, spalte2, spalte3 from openquery (access_db,'select * from access_tabelle')

    Das mit dem Hochzählen macht dann der SQL-Server beim insert von alleine


    bye,
    Helmut

    Comment


    • #3
      Wie bekomme ich denn die Spalte als identity?

      Beim Anlegen einer neuen Tabelle habe ich das hinbekommen. Aber eine vorhandene Tabelle abändern klappt nicht.

      Hab's so probiert:

      ALTER TABLE sql_tabelle ALTER COLUMN ident_nr INT identity NOT NULL

      Kannst Du mir da weiterhelfen?

      fehlermeldung:
      Falsche Syntax in der Nähe des 'identity'-Schlüsselwortes.

      Irgendwie ist mir nicht klar, wo ich wie das "identity" unterbringe...

      Comment


      • #4
        Hallo Avhy,

        das "ALTER TABLE"-"ALTER COLUM" sieht kein Ändern eines vorhandenen Feldes auf IDENTITY vor, das gibt nur bei "ADD", also wenn ein neues Feld einer vorhandenen (oder einer neuen) Tabelle hinzugefügt wird.
        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


        • #5
          Am besten im ManagementStudio machen, da geht das auch im nachhinein jederzeit, weil das ManagementStudio dann automatisch alle erforderlichen Schritte im Hintergrund selber erzeugt und ausführt.

          bye,
          Helmut

          Comment

          Working...
          X