Announcement

Collapse
No announcement yet.

INSERT INTO funktioniert nicht

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

  • INSERT INTO funktioniert nicht

    Hallo Leute,

    bin noch ein absoluter Anfänger was MS SQL Server Management Studio betrifft. Habe mit Hilfe eines Buches eine Tabelle erstellt:
    CREATE TABLE customer
    (
    Kundennummer int NOT NULL,
    Name nchar(10) NOT NULL,
    Vorname nchar(10) NOT NULL,
    Straße nchar(10) NOT NULL,
    Stadt nchar(10) NOT NULL,
    Plz nchar(10) NOT NULL
    )

    Wenn ich diese füllen möchte wie folgt:

    INSERT INTO customer
    VALUES(1, Mustermann, Max1, Beispielstraße 1, 76111)
    INSERT INTO customer
    VALUES(2, Mustermann2, Max2, Beispielstraße 2, 76112)
    INSERT INTO customer
    VALUES(3, Mustermann3, Max3, Beispielstraße 3, 76113)

    bekomme ich den Fehler:
    Meldung 128, Ebene 15, Status 1, Zeile 2
    Der Name 'Mustermann' ist in diesem Kontext nicht zulässig. Nur Konstanten, Ausdrücke und Variablen sind hier zulässig. Spaltennamen sind nicht zulässig.

    Danke für Eure Hilfe.

    Mfg Niq

  • #2
    Hallo Niq,

    Werte für char, varchar u.ä Felder muß Du in einfache Anführungszeichen setzen, also:
    [highlight=sql]
    INSERT INTO customer
    VALUES(1, 'Mustermann', 'Max1', 'Beispielstraße 1', 76111)
    [/highlight]

    Gruß, Olaf
    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
      Danke für die schnelle Antwort.
      Habe deinen Rat befolgt:

      INSERT INTO TABLE customer
      VALUES(1, 'Mustermann1', 'Max1', 'Beispielstraße 1', 'Musterstadt', 76111)
      INSERT INTO TABLE customer
      VALUES(2, 'Mustermann2', 'Max2', Beispielstraße '2', 'Musterwald', 76112)
      INSERT INTO TABLE customer
      VALUES(3, 'Mustermann3', 'Max3', Beispielstraße '3', 'Musterhügel', 76113)

      Das spuckt er diesmal als Fehlermeldung aus:

      Meldung 156, Ebene 15, Status 1, Zeile 1
      Falsche Syntax in der Nähe des TABLE-Schlüsselwortes.

      Danke für eure umgehenden Antworten

      Mfg Niq

      Comment


      • #4
        Wieso denn jetzt auf einmal "Table", war in Deinem ersten Posting auch nicht drin; richtiger weise.
        Table einfach weglassen.

        Olaf
        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
          verdammt, danke
          da ich absolut am Anfang stehe werde ich des öfteren hier vorbeischauen.

          Mfg Niq

          Comment


          • #6
            Und wie loesche ich nur einen Eintrag aus einer bestehenden Tabelle ?

            1 1900-01-01 00:00:00.000 2 1 99.50
            2 1900-01-01 00:00:00.000 1 2 115.99
            3 1900-01-01 00:00:00.000 3 3 89.95
            3 2007-04-03 00:00:00.000 3 3 89.95

            Ich möchte nur den untersten Wert:
            3 2007-04-03 00:00:00.000 3 3 89.95
            löschen ?
            Das geht doch mit :
            ALTER TABLE orders
            DROP ???

            Was kommt nach Drop ? wie spreche ich die eben nur letzte Zeile an?

            Danke im voraus.

            Mfg Niq

            Comment


            • #7
              DELETE FROM orders
              WHERE ID = 5

              ich bin jetzt mal davon ausgegangen, dass es eine ID gibt und die letzte Zeile die id 5 besitzt

              Comment


              • #8
                Was genau meinst du mit ID ?
                Wenn ich analysiere klappt der befehl, aber nicht wenn cih ihn ausführe. Typisch windoof

                Comment


                • #9
                  ID ist der Primärschlüssel
                  in deinem Fall wahrscheinlich die erste Spalte

                  1 1900-01-01 00:00:00.000 2 1 99.50
                  2 1900-01-01 00:00:00.000 1 2 115.99
                  3 1900-01-01 00:00:00.000 3 3 89.95
                  4 2007-04-03 00:00:00.000 3 3 89.95

                  DELETE FROM orders
                  WHERE ID = 4

                  damit würdest du dann den Eintrag mit der ID 4 löschen

                  Comment


                  • #10
                    Hallo nochmal,
                    nein bin gerade dabei einen primärschluessel zu setzen, allerdings bin ich noch auf der Suche nach dem passenden Befehl. Ansonsten haettest du recht gehabt, aber die Zahlen ganz am Anfang legt die Tabelle selber an. Wüsste ich den Befehl haette ich aber solch einen Primärschluessel bereits gesetzt und hätte es mit deinem Befehlsvorschlag löschen können. Danke trotzdem.
                    Bis bald

                    Comment


                    • #11
                      Hallo nochmal, um euch nicht mehr so schnell zu nerven:
                      Kann mir bitte jemand eine Seite/Nachschlagewerk sagen, wo ich die Befehle für MS SQL finde. Ich finde so gut wie nur MySQL Ergebnisse.
                      Danke.
                      MFG NIQ

                      Comment


                      • #12
                        Hallo Niq,

                        wenn Du das Management Studio offen hast, drück mal F1 => Online-Hilfe.
                        Funktioniert auch kontext-sensitive, also Befehl markieren und dann Shift-F1 drücken.

                        Gruß, Olaf

                        P.S.: Mit DROP löscht Du keine Daten, sondern Objekt; ist also sehr gefährlich!
                        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

                        Working...
                        X