![]() |
Datenbank: Oracle • Version: 10g • Zugriff über: ADO+ODBC
Wie mit blödem Spaltennamen umgehen
Hallo,
muss auf eine Tabelle eines andern Programms zugreifen. Da hat eine Spalte den Namen Start, was aber ein reserviertes Wort ist. Ich kann den Spaltennamen aber nicht ändern, da die Tabelle einem "fremden" Programm gehört. Wie kriege ich diese Spalte ausgelesen, bzw. innerhalb meines Selects umbenannt? Jeder Zugriff auf diese Spalte im SQL-Statement quittiert Oracle nämlich mit einem Fehler "invalid table.Column or Column specification". So geht's nämlich nicht: Select a.Start as Beginn From Tablename a Where Beginn = Irgendwas Oder wenn ich nach der Spalte sortieren will. "Order By Start" geht dann nämlich auch nicht, wobei da Ersatzweise zwar "Order by 6", sprich die Spaltennummern geht, aber das find ich unschön. |
AW: Wie mit blödem Spaltennamen umgehen
Etwas merkwürdig das Verhalten, eigentlich ist Oracle sowas egal.
Kannst Du auf dba repository nach den Spaltennamen suchen? Verdacht: Die Spalte ist nicht "nativ" angelegt sondern in einer bestimmten Groß/Kleinschreibung unter Verwendung von Doppelhochkomma. In diesem Fall geht die Case Insensitivität bei SQL flöten und die Spalte muss exakt so verwendet werden (exakte Groß/Kleinschreibung in Doppelhochkomma) wie ursprünglich definiert, Also z.B:
Code:
P.S.: Ganz egal ist es wohl nicht, manche reservierten Wörter gehen, manche nicht. Da ich sowas idR. vermeide, habe ich noch wenig Erfahrung mit den möglichen Problemen. " und richtige GroßKleinschreibung schafft jedenfalls Abhilfe.
Select "Start", andereSpalte, USER, nochEINE from ..
|
AW: Wie mit blödem Spaltennamen umgehen
Mit Gänsefüßchen "START" klappt es, danke!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz