Ich verwende SSMS 2014, ich möchte den Spaltenwert mithilfe des Spaltennamens in SQL Server abrufen. Der Benutzer kann eine beliebige Spalte aus der Tabelle auswählen und den Wert dieser Spalte abrufen.Abrufen des Spaltenwerts mithilfe des Spaltennamens in SQL Server
Beispiel:
exec employee Name 'karl'
Ausgabe wie folgt:
| Id | Name | ManagerId | ManagerName | Gender | Dept |
| 5 | Karl | 1 | Luke | M | 1 |
I Verfahren erschaffe dieses Problem zu beheben, aber ich bin kein Wert in der Ausgabe zu bekommen.
Create proc sp_getEmpDetail
@colname varchar(50),
@colvalue varchar(50)
as
Select *
from employees1
where @colname = @colvalue
Ich bekomme keinen Wert in der Ausgabe.
Wenn ich es debugge dann Variablen erhalten Wert, den ich geliefert habe.
Bitte helfen Sie, dies zu beheben.
Vielen Dank im Voraus.
Es ist ein Beispiel für die Technik am unteren Rand der [diese Antwort] (https://stackoverflow.com/questions/13091505/sql-server-reference-a-column-by-name-in- Agrrate-Funktion). – wallyk
Randnotiz: Sie sollten ** nicht ** das Präfix 'sp_' für Ihre gespeicherten Prozeduren verwenden. Microsoft hat [dieses Präfix für seine eigene Verwendung reserviert (siehe * Gespeicherte Prozeduren benennen *)] (http://msdn.microsoft.com/en-us/library/ms190669%28v=sql.105%29.aspx), und Sie riskieren irgendwann in der Zukunft einen Namenskonflikt. [Es ist auch schlecht für die Leistung Ihrer gespeicherten Prozedur] (http://www.sqlperformance.com/2012/10/t-sql-queries/sp_prefix). Es ist am besten, einfach 'sp_' zu vermeiden und etwas anderes als Präfix zu verwenden - oder gar kein Präfix! –