2009-08-15 21 views

Antwort

2

Sie müßten eine gespeicherte Prozedur verwenden, die SQL dynamisch generieren würde und dann ausführen. Spaltennamen sind keine wirklich erstklassigen Daten in SQL, daher können Sie mit ihnen nicht viel anfangen. Sie werden bei der Abfrageanalysezeit bestimmt, bevor die Abfrage ausgeführt oder Daten abgerufen werden.

Ich schlage vor, es in Ihrer App stattdessen zu tun. Lassen Sie Ihre App einfach die korrekten Namen anstelle der Datenbankspaltennamen anzeigen/speichern.

PS: Sie missbrauchen das relationale Modell fürchterlich. Bitte sehr sorgfältig überlegen, ob Sie dieses Schema wirklich wollen. Ihr Schema schlägt die erste normale Form fehl. Und was ist worksheet_type_lookup für? Weiß nicht worksheets Ihnen welchen Typ?

+0

Sie haben Recht, die Nachschlagetabelle ist über Anforderungen. ohne das, trifft es nicht 1NF wegen der Doppelung des Titels? – codecowboy

+1

col_1, col_2, ... sind das 1NF-Problem. Siehe http://en.wikipedia.org/wiki/First_normal_form, wo ihr Beispiel eine Telefonnummer ist. – derobert

+0

wohl, Col_1, etc. haben * nicht * eine anwendbare Domain. Sie haben keine Bedeutung. Stattdessen versuchst du, ihnen durch einen anderen Tisch Bedeutung zu geben. – derobert

Verwandte Themen