Forum: SQL |
Thema:
SELECT-Abfrage in Stored Procedure dynamisch erzeugen |
Von:
(
07.11.2006 09:30) |
Guten Morgen!
Ich weiß nicht ob ich für diese Frage hier richtig bin, aber ich bin bezüglich Stored Procedures in MSSQL (auf SQL Server 2005 Express) auf ein kleines Problem gestoßen.
Ich möchte eine Stored Procedure anbieten, die Daten aus einer Tabelle angibt. Dazu verfügt sie über zwei Parameter:
- eine ID, mit der ein Datensatz eindeutig identifziert wird (fragt den PK der Tabelle ab)
- einen VARCHAR-Wert, der die Spalte identifizieren soll, deren Wert man haben möchte
Wenn ich also z.B. den Spaltenwert "something" des Datensatzes mit der ID 3 haben möchte, rufe ich die Prozedur folgendermaßen auf:
EXEC procedurname 3, 'something';
Innerhalb der Prozedur werden die Parameter dann (im vereinfachten Fall) zum dynamischen Erstellen einer SELECT-Abfrage verwendet:
SELECT @spalte FROM tabelle WHERE id=@id;
Der Parameter @spalte hätte in diesem Beispiel also den Wert 'something'.
Leider klappt das so nicht. Der Abfragestring wird korrekt zusammengesetzt, das habe ich geprüft, aber dennoch kann die Prozedur damit nichts anfangen.
Kann mir da vielleicht jemand weiterhelfen?
Gruß,
xeri
Betreff |
Von |
Datum |
|
|
Bernhard
Grojer
|
07.11.2006 10:32 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!