srob: SQL statement fehler?

Beitrag lesen

Der ORDER-BY-Klausel folgt ein Stringliteral, welches die Spalte bezeichnet. Was bezweckst Du mit den Hochkommata?

doch doch!
wenn ich Mysql selber ein select mit order by machne lasse, macht es auch die hochkomma! hab sie weggelassen und hat auch nicht funktioniert!

Oi,

daß es auch ohne Hochkommata noch nicht funktioniert, wird ja andernorts ausgiebig diskutiert.

Aber etwas Grundsätzliches zur Syntaxfrage und Deiner Erfahrung mit dem SELECT-Statement: selbst wenn ein von Dir formuliertes Statement mit einem hochkommabegrenzten Spaltenbezeichner als Argument der ORDER-BY-Klausel scheinbar fehlerlos abgearbeitet wird, so würde ich daraus nicht den Schluß ziehen, daß diese Syntax damit auf alle derartigen Anwendungsfehler fehlerlos übertragbar ist. Fakt ist, daß in allen (mir bekannten) SQL-Versionen - allen voran die Definitionen des ANSI-SQL - der Spaltenbezeichner ein Stringliteral ist. Dann haben wir noch nicht über die Langzeitstabilität Deines Statements bei Versionsänderungen gesprochen. Deshalb: _keine_ Begrenzungszeichen.

Sicherlich wirst Du mit einer strengen Einhaltung der dokumentierten Syntax eine sorgenfreieres Entwicklerleben haben, als wenn Du Dir eine eigene, verschrobene Es-ist-zwar-in-der-Doku-anders-beschrieben-aber-es-klappt-auch-so-Syntax aneignest. Die Tatsache, daß eine fehlerhafte Formulierung ein korrektes Ergebnis bringt, legitimiert nicht den Einsatz einer solchen Formulierung. Das gilt für Kodieren jeglicher Art.

HTH Robert