SQL Keyword value?

DAB268

Cadet 4th Year
Registriert
Aug. 2008
Beiträge
92
Hi.

Meine IDE gibt an, das value ein Keyword ist. Mich interessiert nun, was es bewirkt und wie ich es als Tabellennamen verwenden kann. Muss ich hierfür den Namen irgendwie escapen? Konnte hierzu leider nichts im Handbuch finden.

Greetz
DAB268
 
Das Value-Keyword kann bei SELECT-Abfragen benutzt werden, jedenfalls beim MS SQL Server. Das kann anstelle von ALL oder DISTINCT eingesetzt werden und liefert dir dann nur noch einen einzigen Wert zurück.. jedenfalls hab ich das bisher dazu missbraucht *hust* -> http://msdn.microsoft.com/en-us/library/bb399554.aspx
 
Zuletzt bearbeitet:
Kann ich den Namen auch für Tabellenspalten nehmen? Muss ich dabei den Namen irgendwie escapen?
 
DAB268 schrieb:
Kann ich den Namen auch für Tabellenspalten nehmen? Muss ich dabei den Namen irgendwie escapen?

Welche Datenbank ist es denn? Wenn du reservierte Schlüsselwörter als Spaltennamen hast, musst du sie auch beim Select jedes mal escapen.

Möglicherweise kann man sie ähnlich auch einfügen. Ich würde es aber nicht tun. Man weiß nie ob sowas noch funktioniert wenn man auf eine andere Datenbank wechselt und man bekommt durch das Escapen an manchen Stellen Code der inkonsistent handzuhaben ist.

Die saubere Lösung ist keine reservierten Schlüsselwörter als Bezeichner zu verwenden.
"Value" ist als Bezeichner so generisch, dass es je nach Kontext sicher zahlreiche eventuell auch sprechendere Alternativen gibt.
 
Es macht ja auch Spaß, wenn man mehrere SQL Statements nicht mehr ausgeführt bekommt und am Ende war es nur die Verwendung eines reservierten Wortes außerhalb des entsprechenden Kontextes. An sich eine sehr gute Sache, so kann man sich auch die Existenz in der Firma erhalten, weil es gibt ja immer was zu tun... :D

Im übrigen wäre die Verwendung von so einem generischen Namen für die Tabelle wirklich genial, man weiß ja sofort was drin ist in der Tabelle. Ich hab da noch so ein paar schöne Namen die man verwenden kann: "SELECT", "FROM", "WHERE", "GROUP", "ORDER"

Aber Spaß beiseite. Reservierte Wörter sind Wörter die reserviert sind. Ich will sagen, die haben eine Funktion und werden in einem entsprechenden Kontext verwendet. Es ist ein grober Fehler exakt diese Wörter nun auch für seine eigenen Objektnamen (wie z.B. Tabellen, Spalten ...) zu verwenden, da sie bei dieser Verwendung mehr schaden als nutzen. Zum Beispiel sorgen Sie regelmäßig für Verwirrung bei jedem der sich dann als Neuling diese Scripte anschauen muss. Ihm ist dann auch nicht mehr die Bedeutung des reservierten Wortes klar, da es immer wieder unterschiedlich verwendet wird. Also wenn du tatsächlich gezielt Verwirrung bei deinen Mitstreitern erreichen willst , dann verwende reservierte Wörter, wenn du jedoch darauf aus bist Scripte, Codes ... zu entwickeln die sich leicht warten lassen, leicht übertragbar und leicht zu verstehen sind, dann vermeidest du genau diese reservierten Wörter und läßt sie in Ihrer Bedeutung da wo sie hingehören. Desweiteren verwendest du dann sprechendere Namen als value1, value2, zorro, foo, bar ... Aber entscheide selbst, wie du das machen willst.
 
Zuletzt bearbeitet:
Zurück
Oben