Liebe Community Freunde und gleichgesinnte. Ich habe einen Problem mit eingeben von SQL Befehlen. Ich habe mich per Microsoft SQL Server Manager Express innerhalb von eine Datenbank auf meinen PC eigeloggt und die entsprechende Tabelle per Befehl SELECT * from tArtikelShopgeöffnet. Als nächstes musste Ich die Spalte 4 mit den Namen „cInet“ so umändern das die darin enthaltene Werte die „N“ enthalten umgeändert werden auf Wert „Y“ und diesen Vorgang ordentlich abspeichern etc… Die Hälfte des Werten innerhalb von eine Spalte die ca. 12000 Werte enthält ist auf Y und die andere auf N und nun müssten die alle jetzt einen Wert von Y aufweissen. Hirzu habe Ich erfolglos folgende Befehle benutzt:
UPDATE tArtikeShop SET cInet=Y
UPDATE tArtikelShop
SET cInet="Y"und so weiter und so weiter so das Ich alle Syntax optionen umgeändert habe und dem entsprechend ausprobiert habe. Erfahrungsgemäß weiss Ich das mann irgendwan zu einen Punkt kommt wo mann von lauten Bäumen den Wald nicht mehr sieht und deshalb habe Ich mich entschieden hier nachzufragen.Weiss jemand ob dieses SQL Befehl die richtige Abfrage ist und wenn ja wie kann Ich die Korekkt eingeben. Falles eventuell ganz nicht das richtige Befehl ist dann würde Ich mich über einen Konkreten Tipp freuen. In voraus bedanke Ich mich für die Hilfe.Grußgabro
Hallo gabro,
mir ist nicht klar, ob Y und N die tatsächlichen Werte sind oder beispielhaft für irgendwas anderes stehen, deshalb zuerst die Frage: was für einen Datentyp hat die Spalte clnet? Wenn Zahl, dann muss der Wert einfach so eingegeben werden, wenn Text/Zeichenkette, dann in Anführungszeichen. Bei MySQL ist es egal, ob einfache oder doppelte Anführungszeichen, bei Microsoft SQL Server Manager Express weiß ich es nicht, weil ich ihn nicht kenne.
Jetzt aber weiter im Text:
Hirzu habe Ich erfolglos folgende Befehle benutzt:
UPDATE tArtikeShop SET cInet=Y
UPDATEtArtikelShop
SET cInet="Y"und so weiter und so weiter
Nun ja, beide Befehle oben enthalten (Tipp-)Fehler, die Frage ist, ob du sie genauso eingetippt hast, oder ob du dich nur hier im Forum vertippt hast. Aber wenn clnet char oder varchar oder text ist, dann ist
UPDATE tArtikelShop SET clnet="Y"
richtig.
Weiss jemand ob dieses SQL
Befehl die richtige Abfrage ist
Keine Abfrage, sondern eine Anweisung.
Viele Grüße
Christa
UPDATE dbo.xxx
SET Value = REPLACE(Value, ‚N‘, ‚Y‘)
Danke Christa für die schnelle Antwort. Ich habe es auch , wie von dir geschrieben versucht, jedoch die Meldung hierbei lautet " Meldung 208, Ebene 16, Status 1, Zeile 1 Ungültiger Objektname tArtikelShop
.
Leider kein Erfolg. Ah ja Das System erkent den Wert Y als Text und steht für Bilder in Shop senden Y für Yes also auf Deutsch Ja.
Danke trotzdem.
Gruss Gabro
UPDATE dbo.tArtikelShop
SET cInet= REPLACE(cInet, ‚N‘, ‚Y‘)
leider wieder Fehlermeldung " Meldung 208, Ebene 16, Status 1, Zeile 1 Ungültiger Objektname tArtikelShop
."
Was könnte das Problem sein???
Vielen Dank für die Mühe
Gabro
Hallo Gabro,
auf der Suche nach der Fehlermeldung
lautet " Meldung 208, Ebene 16, Status 1, Zeile 1 Ungültiger
ObjektnametArtikelShop
.
fand ich u. a. das:
http://www.dotnetpro.de/community/newsgroups/newsgro…
Dort lautet die letze Frage:
„hast du als aktuelle Datenbank auch die Datenbank gewählt, in der sich die
SP Beispiel befindet?“ (in dem Fall hieß das Beispiel, bei dir ist es ja das andere).
Hier auch so ähnlich:
http://www.insidesql.org/blogs/fehlermeldungen/208-u…
Vielleicht bringt dich das weiter.
Viele Grüße
Christa
_Hi,
also zunächst müsste der gesamte Ausdruck so aussehen:
UPDATE tArtikelShop
SET clnet = „Y“
WHERE clnet = „Y“
bzw. bei mir keine " sondern einzelen Anführungszeichen ’
UPDATE tArtikelShop
SET clnet = ‚Y‘
WHERE clnet = ‚Y‘_
Sorry, ersetzte in der „Where …“ natürlich „Y“ / 'Y’durch … bzw. „N“ / ‚N‘ (;O)))
Guten Morgen,
Klasse gelöst. Vielen Dank Herr Zeilinger richtig war es
UPDATE tArtikelShop
SET clnet = ‚Y‘
WHERE clnet = ‚Y‘
exakt so obwohl Ich dachte das man bei WHERE noch N setzen muss. DB hat die Spalte so umgeändert wie es gewünscht habe.
Vielen liebend Dank
Hallo ,
UPDATE dbo.tArtikelShop
SET cInet= REPLACE(cInet, ‚N‘, ‚Y‘)leider wieder Fehlermeldung " Meldung 208, Ebene 16, Status 1,
Zeile 1 Ungültiger ObjektnametArtikelShop
."
was soll den der unsinn , du hast doch keine dbo als datenbankname oder ??
Es können auch vollständige namen angegeben werden,
Datenbank.Tabelle
oder halt nur Tabelle
je nachdem wie man es braucht.
Hallo gabro,
UPDATE tArtikelShop
SET clnet = ‚Y‘
WHERE clnet = ‚Y‘exakt so obwohl Ich dachte das man bei WHERE noch N setzen
muss. DB hat die Spalte so umgeändert wie es gewünscht habe.
das kann doch gar nicht funktionieren, er hatte sich auch korrigiert, weil er sich vertippt hatte. So wird die Spalte auf Y gesetzt, wo sie (auch) vorher auf Y war, was soll das für einen Sinn haben?
Gruß
Christa