我正在使用 SSMS 2014,我想使用 SQL Server 中的列名称检索列值。用户可以从表中选择任何列并检索该列的值。
示例:
exec employee Name 'karl'
输出如下:
| Id | Name | ManagerId | ManagerName | Gender | Dept |
| 5 | Karl | 1 | Luke | M | 1 |
我正在创建程序来解决此问题,但我没有在输出中获得任何值。
Create proc sp_getEmpDetail
@colname varchar(50),
@colvalue varchar(50)
as
Select *
from employees1
where @colname = @colvalue
我没有从输出中获得任何值(value)。
当我调试它时,变量会获取我提供的值。
请帮忙解决这个问题。
提前致谢。
最佳答案
--for this you need to create a dynamic Query
Create proc sp_getEmpDetail
@colname varchar(50),
@colvalue varchar(50)
AS
DECLARE @Sql_String NVARCHAR(MAX)
SET @Sql_String='Select * from employees1 where '+@colname+' = '''+@colvalue+''''
PRINT @Sql_String
EXEC(@Sql_String)
END
关于sql - 在 SQL Server 中使用列名检索列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45518757/